使用stax分析器从xml获取特定元素节点

问题描述:

<xml> 
<name>steve</name> 
<age>12</age> 
<country>Germany</country> 
<person> 
    <college>kmu university</college> 
    <country>Sweden</country> 
</person> 
</xml> 

解析时使用stax分析器我得到的国家/地区名称为德国,瑞典。但我只需要瑞典而不是德国。任何其他方式来获得它。我使用STAX解析器来解析这个XML。使用stax分析器从xml获取特定元素节点

预期输出:瑞典

实际输出:德国,瑞典

+0

你必须使用STAX吗? – dogbane 2013-02-14 15:39:42

+0

是的,我必须使用STAX,因为Xml内容的大小非常大 – 2013-02-14 16:08:42

当你这样做的StAX(和SAX)解析,您需要自己跟踪的上下文。这意味着您需要跟踪已开始但尚未完成的元素。一旦获得了这些信息,您就可以只保留嵌套在“person”元素下的“country”元素,并忽略所有其他“country”元素。

+0

谢谢如何只获得国家元素节点下的人可以举一些例子...我不希望代码只是解释逻辑就够了。 – 2013-02-14 16:08:09

+0

@BalaMurugan - 我在我的回答中解释了逻辑:“跟踪已开始但尚未完成的元素”和“仅保留嵌入在”person“元素下的”country“元素” – jtahlborn 2013-02-14 16:17:27