用于iPhone的IOS XML解析器
我是XML解析的新手。我总共cofused 有多少方法,我们应该需要XML解析和什么使用该方法。用于iPhone的IOS XML解析器
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="q">title:ios</str>
</lst>
</lst>
<result name="response" numFound="3" start="0">
<doc>
<str name="author">Boney, James</str>
<str name="author-letter">Boney, James</str>
<arr name="collection">
<str>Catalog</str>
</arr>
<arr name="ctrlnum">
<str>(DE-599)BSZ096485965</str>
</arr>
<arr name="dewey-full">
<str>004.62</str>
<str>004.6/2</str>
</arr>
<arr name="dewey-hundreds">
<str>
000 - Informatik, Informationswissenschaft, allgemeine Werke
</str>
</arr>
现在请大家有没有人帮忙找出来,我怎样才能使用NSXMLParser
或IOS任何其他的xml
数据的那些信息?
在此先感谢。
如果您想在不使用NSXMLParser的情况下改进解析(因为它是SAX解析器,有点令人困惑),请使用DOM解析器,如KissXML,TouchXML。还要了解如何使用Xpaths,这是可用于获取xml对象的字符串。就像,你要是给一个像“// doc”这样的命令,你会得到所有的xml标签。
NSXMLParser
只是很好的解析XML文件,你并不真的需要任何其他第三方的东西来做到这一点。 NSXMLParser Class Reference真的很好,很清楚,详细解释你需要的一切。 SeismicXML也是一个很好的示例代码,您可以使用它来学习和理解它。
This也很有帮助。
但是,把它概括地说,能够解析某处驻留在Internet上的XML文件,需要两两件事:
-
NSURLConnection
您可以使用此连接到XML文件的URL,下载数据并保存。
-
NSXMLParser
一旦XML数据下载,使用
NSXMLParser
解析数据和分析的东西存放在数组或任何你需要的。
因此,您需要在您的.h
文件中添加<NSURLConnectionDelegate>
和<NSXMLParserDelegate>
。
NSXMLParserDelegate
协议定义了由代表NSXMLParser
对象实现的可选方法。
这些都是委托方法来处理XML:
– parserDidStartDocument:
– parserDidEndDocument:
– parser:didStartElement:namespaceURI:qualifiedName:attributes:
– parser:didEndElement:namespaceURI:qualifiedName:
– parser:didStartMappingPrefix:toURI:
– parser:didEndMappingPrefix:
– parser:resolveExternalEntityName:systemID:
– parser:parseErrorOccurred:
– parser:validationErrorOccurred:
– parser:foundCharacters:
– parser:foundIgnorableWhitespace:
– parser:foundProcessingInstructionWithTarget:data:
– parser:foundComment:
– parser:foundCDATA:
取决于你在做什么,你会选择和使用只是其中的几个,除了– parserDidStartDocument:
和– parserDidEndDocument:
需要使用。还应该包括– parser:parseErrorOccurred:
。