2010-04-30 46 views
3

嘿傢伙!這讓我堅強起來! 這裏是我的XML文檔簡單的XPath問題iPhone版

<?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 

它不起作用!我已經嘗試了一切。 任何幫助,將不勝感激...... 山姆

+0

很好的問題(+1)。查看我的答案,瞭解指針和純XPath解決方案。 :) – 2010-05-01 01:18:13

回答

2

container節點內xmlns的一點是,你可以有你的查詢寄存器中的命名空間前綴。

我不知道TouchXML足以說明解決方案,但如果您進入TouchXML的內部,相關的libxml2調用是xmlXPathRegisterNs()

SO answer也許可以幫助您指出正確的TouchXML方法用於註冊此名稱空間。

+0

老兄,我認爲你是對的。顯然,觸摸xml有一些問題 已知的xPath。我會嘗試修復它們!誰知道,也許有人會受益? – 2010-04-30 23:32:06

+0

這是關於開源的一件好事。祝你好運! – 2010-04-30 23:41:39

1

我不是TouchXML的專家,但this可能會幫助你。

還有一個有點難看的純XPath解決方案

用途:

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