使用NSXMLParser获取.tetml值的难度
问题描述:
我正在尝试解析.tetml扩展文件。为此,我正在使用NSXMLParserDelegate
方法。使用NSXMLParser获取.tetml值的难度
- (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
希望这有助于。
我怎样才能得到标签的值是EO .. –
ajay
2011-03-27 08:04:55
的键值如 .. 您可以使用JSON框架。 –
Hisenberg
2011-03-27 10:36:23
非常感谢您的回答。我使用foundcharacters协议来获取标签的值。 – ajay 2011-03-30 05:44:46