林使,其获取使用的SAXParser一些XML的应用程序。 林解析XML,如果XML没有特定的节点我都用不同的URL开始在SAXParser的。停止/断裂SaxXMLparsing
这意味着,当我在里面的startElement我的XML处理程序是我必须打破/停止并再次这样做。我该如何做这个休息/停止/退出?
这里有一些假的代码解释:
private String browsLevel(String url) {
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
URL sourceUrl = new URL(url);
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
}
//external class in a separate document
public class MyXMLHandler extends DefaultHandler {
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
// Im checking here if a special node exsists and if not I need to break/stop this and go to the Restart point above.
//I need to do something like this:
if (!localName.equals("mysspecialnode")) {
MyXMLHandler.break(); //????
browsLevel("a different url");
}
这将导致“不同的URL”被解析,除非文档中的所有开始标签都是“mysspecialnode”。我的方法是最初有'isStart = true',并且有'if(localName.equals(“mysspecialnode”)){isStart = false}'。 – Trevor 2011-05-10 10:46:38
退货声明实际上是我在换货/休息时寻找的。谢谢。 – 2011-05-10 13:00:58