像这样解析XML
问题描述:
<item>
<RelatedPersons>
<RelatedPerson>
<Name>xy</Name>
<Title>asd</Title>
<Address>abc</Address>
</RelatedPerson>
<RelatedPerson>
<Name>xy</Name>
<Title>asd</Title>
<Address>abc</Address>
</RelatedPerson>
</RelatedPersons>
</item>
我想用SAXParser解析这些数据。我怎样才能做到这一点? 我知道关于SAX的教程,我可以解析任何普通的RSS,但我不能解析这些数据。像这样解析XML
答
定义你的问题:你也许可以做的是什么创造一个值对象(POJO)称为Person
它具有属性:name
,title
和address
。您解析这个XML的目的就是创建一个ArrayList<Person>
对象。定义一个明确的数据结构可以帮助你建立逻辑。
选择一个分析器:那么您可以使用SAX
分析器或XML拉式解析器通过标签浏览:see this lin for a tutorial on DOM, SAX and XML Pull Parser in Android。
数据填充逻辑:然后在解析,只要你遇到一个<RelatedPersons>
标签,实例化一个新Person
对象。当遇到相应的Properties标签时,请读取该值并将其填充到此对象中。当你遇到一个关闭</RelatedPersons>
在ArrayList中转储这个Person对象。根据您使用的解析器,您将不得不使用适当的方法浏览子节点/嵌套节点(请参阅链接了解详细信息)
当您完成解析最后一个项目节点时,您将拥有所有ArrayList中的值。
请注意,这是更理想的答案;我希望它有帮助。