我正在尝试解析.tetml扩展文件。为此,我正在使用NSXMLParserDelegate
方法。
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
didEndElement
给我确切的结果,而namespaceURI
和qName
给我零。我不明白确切的原因。我的文件包含:<Word><Text>ËÒ</Text><Box llx="198.00" lly="408.48" urx="244.90" ury="436.56"><Glyph font="F1" size="40.08" x="198.00" y="408.48" width="26.16">Ë</Glyph><Glyph font="F1" size="28.08" x="224.16" y="408.48" width="20.74">Ò</Glyph></Box></Word>
谁能告诉我为什么会这样,有人能告诉我如何获得标签的价值吗?先感谢您。
最佳答案
好吧,我在您的xml文件中看不到任何名称空间。如果确定在NSXMLParser实例上设置了此设置:
- (void)setShouldProcessNamespaces:YES
...,您的xml文件如下所示:
<n:Word xmlns:n="http://www.n.com/" xmlns:m="http://www.m.com">
<n:Text>ËÒ</n:Text>
<m:Box llx="198.00" lly="408.48" urx="244.90" ury="436.56">
<m:Glyph font="F1" size="40.08" x="198.00" y="408.48" width="26.16">Ë</m:Glyph>
<m:Glyph font="F1" size="28.08" x="224.16" y="408.48" width="20.74">Ò</m:Glyph>
</m:Box>
</n:Word>
您会看到-[MyParserDelegate解析器:didEndElement:namespaceURI:qualifiedName:]类型的委托方法,通过
elementName = Text
namespaceURI = http://www.n.com/
qualifiedName = n:Text
希望这可以帮助。
关于objective-c - 使用NSXMLParser难以从.tetml获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5447670/