适用于iPhone的简易XPath问题

时间:2010-04-30 22:36:04

标签: iphone objective-c xpath

嘿伙计们!这让我开心! 这是我的XML文档

<?xml version="1.0" encoding="UTF-8"?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
   <rootfiles>
        <rootfile full-path="content.opf" media-type="application/oebps-package+xml"/>
    </rootfiles>
</container>

我想做的就是获取根文件元素。我在iPhone上使用TouchXML,这是我的xPath查询:

/container/rootfiles/rootfile

它不起作用!我已经尝试了一切。 任何帮助,将不胜感激... 萨姆

2 个答案:

答案 0 :(得分:2)

xmlns节点中的container位是您可能拥有查询注册表的命名空间前缀。

我不太清楚TouchXML是什么解决方案,但如果你进入TouchXML的内部,相关的libxml2调用是xmlXPathRegisterNs()

这个SO answer也可能会帮助您找到用于注册此命名空间的正确TouchXML方法。

答案 1 :(得分:1)

我不是TouchXML的专家,但this可能对您有帮助。

还有一个丑陋的纯XPath解决方案

使用:

/*[name()='container']/*[name()='rootfiles']/*[name()='rootfile']