NSXMLElement, без NSXMLDocument - PullRequest
       18

NSXMLElement, без NSXMLDocument

0 голосов
/ 07 сентября 2011

У меня есть NSXMLElement, который является копией из другого места в моем коде.После того, как он был использован, он больше не подключен к NSXMLDocument.Это (что я считаю) не связано ни с чем.

Если я NSLog элемент NSXMLE, мне дают содержание.Я вижу это.

Но, если я пытаюсь использовать nodeForXPath, он ничего не возвращает.Это пустоОн не может ничего найти (если только я не ищу *, в этом случае он возвращает все с /t/t/n/t/t).

Теперь, если я сделаю этот NSXMLElement корнем НОВОГО NSXMLDocument, а затем поискать новый документ, я могу отлично найти XPath!

Я пытаюсь понять логику.Я читал документацию, но я не нашел ничего, что объясняет, что здесь происходит (или, по крайней мере, я не понял этого, если бы нашел это в документации).

Я был бы очень признателенкто-то помогает мне точно понять, почему это происходит, и нужно ли мне использовать этот NSXMLDocument.

Вот мой код:

( element isNSXMLElement, поступающий из NSArray сохраненных NSXMLElements (это копии из документа, используемого в другом методе)

1 Ответ

0 голосов
/ 07 сентября 2011

Вероятно, потому, что контекст xpath, используемый libxml2, содержит ссылку на документ. Если нет документа, он, вероятно, не знает, как действовать. Поведение, если вы ищете *, может быть особым случаем, потому что он знает, что должен вернуть все, поэтому даже не пытается искать.

...