在 iPhone 上使用带有 NOAA 数据的 NSXMLParser 时出现问题
Posted
技术标签:
【中文标题】在 iPhone 上使用带有 NOAA 数据的 NSXMLParser 时出现问题【英文标题】:Problem using NSXMLParser with NOAA data on iPhone 【发布时间】:2011-01-27 19:00:13 【问题描述】:谁能帮我看看为什么 NSXMLParser 没有导致这些方法
parser:didStartElement:namespaceURI:qualifiedName:attributes:
parser:didEndElement:namespaceURI:qualifiedName:attributes:
触发以下部分数据:
<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><ns1:NDFDgenResponse xmlns:ns1=""><dwmlOut xsi:type="xsd:string"><?xml version="1.0"?>
<dwml version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.nws.noaa.gov/forecasts/xml/DWMLgen/schema/DWML.xsd">
(不包括身体)
</dwml>
</dwmlOut></ns1:NDFDgenResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
我不是 XML 专家,但对我来说,<dwml></dwml>
部分看起来只是一个常规元素,可以像之前的部分一样进行解析。
我确实得到两个 parser:parseErrorOccurred: 错误,#200 和 #201,但它们发生在 <SOAP-ENV:Body>
元素的解析过程中,而不是 <dwml>
元素,所以我不确定它们是否相关。感谢您能给我的任何帮助。
更新:我的一个朋友离线告诉我上面的数据有几个错误。我不明白为什么 NOAA 会发送格式错误的 XML —— 解析它有什么秘密吗?
【问题讨论】:
可能是因为那里有两个<?xml?>
标签?
嗯——好点子。我不熟悉 ? 开头的样式标签。应该吗?甚至在那里?
哦,顺便说一句:这不是我的 xml —— 那是来自 NOAA SOAP 服务的内容。以防万一不清楚。
【参考方案1】:
这是一个 SOAP 网络服务,您可能想试试这个:http://code.google.com/p/wsdl2objc/
【讨论】:
问题不是从 NOAA 获取数据,而是使用 iPhone 的 NSXMLParser 类解析 XML。你能帮我解决这个问题吗?以上是关于在 iPhone 上使用带有 NOAA 数据的 NSXMLParser 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章