Sax 解析本地名称不止一次出现
有没有一种聪明的方法来解析在两个不同区域中找到的标签?
@Override
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {
if (localName.equals("item")) {
this.in_item = true;
}
}
例子:
<xml>
<item>
<test1 />
<item />
<test2 />
</item>
</xml>
Is there a clever way to parse a tag found in two different areas?
@Override
public void startElement(String namespaceURI, String localName,
String qName, Attributes atts) throws SAXException {
if (localName.equals("item")) {
this.in_item = true;
}
}
example:
<xml>
<item>
<test1 />
<item />
<test2 />
</item>
</xml>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
维护
Stack
以前见过的节点,并相应地管理我们的节点。Maintain a
Stack
of previously seen nodes, and manage our node accordingly.当我遇到上述情况时,我只是将布尔变量 find1item 设置为 true,当查找下一个项目时,我检查该项目并再次将 find1item 设置为 false。如果嵌套更深,可能很难实现,但如果只嵌套一次,则很简单。
When I had the above case I just set a Boolean var found1item to true and when finding the next item I check for this item and set found1item to false again. If you have deeper nesting it might be hard to implement, but if it is only nested once it is simple.
取父节点和子节点,首先用父节点迭代循环,然后用子节点迭代循环。
take parent nodes and child nodes, 1st iterate the loop with parent node, then iterate the loop with child nodes.