2011-03-27 22 views
0

我正在嘗試解析.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> 

誰能給我爲什麼發生這種情況的原因,任何人都可以告訴我怎麼去標記值?先謝謝你。

回答

1

嗯,我沒有看到你的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