|
对不起,是我错了,因为没在IDE写,在这里写的,写完后也没好好检查。改成如下
public class DataItemFilter extends XMLFilterImpl {
private YourDfaStack dfaStack = null; // stack to push, 要传送到 ReportingContentHandler 去
public void startElement(String namespaceURI, String localName, String qName, Attributes attributes) throws SAXException
{
if(dfaStack == null)
dfaStack = new YourDfaStack()
System.out.println(qName+"元素开始");
dfaStack.push(dver);//把DFA的起始顶点压入栈中,这个顶点是存在的
System.out.println(dfaStack.peek());//能够取出刚才压入得元素,说明栈里确实压入了这个元素。
}
public YourDfaStack getYourDfaStack (){ return dfaStack ; }
}
public class ReportingContentHandler implements ContentHandler{
private YourDfaStack dfaStack = null; // stack to peek, 从 DataItemFilter 传来
public void startElement(String namespaceURI, String localName, String qName, Attributes attributes) throws SAXException
{
System.out.println(qName+"元素开始");
if(dfaStack != null)
dfaStack .peek(dver);// 取出在DataItemFilter 压入的值
}
public void set setYourDfaStack (YourDfaStack stack){ dfaStack = stack; }
}
DataItemFilter item = new DataItemFilter (); // 初始化 YourDfaStack dfaStack
item.startElement(.......); // 把 值压入 dfaStack
ReportingContentHandler report = new ReportingContentHandler ()
// 初始化 YourDfaStack dfaStack
report.setYourDfaStack (item.getYourDfaStack ());
// 把 DataItemFilter 里的 YourDfaStack 传给 ReportingContentHandler
report.sartElement(.......); // 取出 YourDfaStack 的值
要实在还不行,把你的代码送到我的Email里,说明是什么地方错了。可能别的对方还有问题,点我的名就可以看到我的email。
[ 本帖最后由 hongjinusa 于 2008-11-25 11:08 编辑 ] |
|