Сложность получения значений из .tetml с помощью NSXMLParser - PullRequest
0 голосов
/ 27 марта 2011

Я пытаюсь разобрать расширение файла .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>

Кто-нибудь может дать мне причину, по которой это происходит, и кто-нибудь может сказать мне, как получить значение тега?Заранее спасибо.

1 Ответ

1 голос
/ 27 марта 2011

Ну, я не вижу пространств имен в вашем 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: qualName:] методы делегата типа, вызываемые с

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

Надеюсь, это поможет.

...