使用NSXMLDocument而不使用XPath,有没有一种简单的方法来解析XML文档并将其反序列化为自定义对象以创建对象树层次结构?
例如,如果我有如下所示的xml,是否可以将详细信息分别放入Restaurant对象和content对象中?
<restaurants>
<content>spanish name</content>
<content>english name</content>
</restaurant>
<spa>
<content>spa spanish name</content>
<content>spa english name</content>
</spa>我将使用您上面的答案将其扩展到iOS中的kissxml编程。由于kissXML文档提到XML解析器的行为方式与NSXMLDocument相同,因此我使用NSXMLDocument提出了这个问题。
发布于 2012-10-05 16:47:45
如果你知道你想要的内容结构,最简单的方法就是使用NXMLParser遍历它,寻找你需要的部分,跟踪之前的部分,在你找到它们的时候构建一个对象。
如果您想要基于树的方法,可以考虑学习XQuery和XPath,它们并没有那么糟糕。如果没有它们,NSXMLDocument真正提供给您的只有Cocoa绑定。
归根结底,您必须以某种方式转换数据。
使用NSXMLDocument,如果可能的话,您仍然可以很好地针对XML进行验证,以确保拥有良好的数据。
使用NSXMLParser,您可以在没有正式DTD的情况下处理事情。您只需要担心数据有多大,以及您希望如何解析它,然后对测试数据进行一些试验和错误操作,以确保它抓住了您想要或需要的东西。
https://stackoverflow.com/questions/9271684
复制相似问题