使用NSXMLParser获取.tetml值的难度

使用NSXMLParser获取.tetml值的难度

问题描述:

我正在尝试解析.tetml扩展文件。为此,我正在使用NSXMLParserDelegate方法。使用NSXMLParser获取.tetml值的难度

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

didEndElement给我一个确切的结果,而namespaceURIqName给予零。我不明白确切的原因。我的文件包括:

<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 

希望这有助于。

+0

我怎样才能得到标签的值是EO .. – ajay 2011-03-27 08:04:55

+0

的键值如 ..您可以使用JSON框架。 – Hisenberg 2011-03-27 10:36:23

+0

非常感谢您的回答。我使用foundcharacters协议来获取标签的值。 – ajay 2011-03-30 05:44:46