gpt4 book ai didi

objective-c - 使用 NSXMLParser 从 .tetml 获取值很困难

转载 作者:行者123 更新时间:2023-11-29 05:05:29 25 4
gpt4 key购买 nike

我正在尝试解析 .tetml 扩展文件。为此,我使用 NSXMLParserDelegate 方法。

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

didEndElement 给我一个准确的结果,而 namespaceURIqName 给出 nil。我不明白确切的原因。我的文件包含:

<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 parser:didEndElement:namespaceURI:qualifiedName:] 类型委托(delegate)方法调用

elementName = Text
namespaceURI = http://www.n.com/
qualifiedName = n:Text

希望这对您有所帮助。

关于objective-c - 使用 NSXMLParser 从 .tetml 获取值很困难,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com