2014-02-22 231 views
-1

示例XML:Java的DOM和SAX XML解析器

<Books> 
<Book id="1" Name="C#"> 
<URL>http://localhost/download/M1.xml</URL> 
</Book> 

<Book id="2" Name="Oracle"> 
<URL>http://localhost/download/M2.xml</URL> 
</Book> 

<Book id="3" Name="Archius"> 
<URL>http://localhost/download/M3.xml</URL> 
<URL>http://localhost/download/M4.xml</URL> 
</Book> 
</Books> 

我必須只獲取書名屬性,並用它來顯示。但是比方說,我已經得到的書籍,即(C#列表中, Oracle,Archius),將這個值傳遞給一個方法應該返回一個包含URL節點值的數組。

這個想法是在列表中顯示書名,然後在用戶選擇中顯示相應的URL需要獲取。

能夠得到循環遍歷節點

NodeList nodeList = document.getDocumentElement().getElementsByTagName ("Book"); 
for (int i = 0; i < nodeList.getLength(); i++) {... 

SO, 一)顯示BookNames B)得到相應的URL對特定的書如果我通過了BOOKNAME

+1

什麼是您的問題? JDOM(2)非常好 –

+0

上帝以她爲例http://www.mkyong.com/java/jaxb-hello-world-example/ – Yaz

回答

0

那將無法按預期工作。你說:「如果我通過Bookname,獲取特定圖書的相應URL」,但可能存在相同的書名。 所以你絕對需要額外的物品,無論是ISBN或SKU或任何一種東西,你可以使用它作爲主鍵。

也許你需要更多的解析,如果你想支持預覽圖書圖像鼠標懸停或什麼......但無論如何,如果你打算只使用整個XML的幾項......那麼它應該是SAX解析器IMO。

+0

我可以隱藏相應的ID與書目清單,然後使用ID要求提出。需要一個工作實例 – Alfaromeo

+0

@Alfaromeo一個什麼樣的例子?你沒有問任何問題? –

+0

a)顯示BookNames b)如果通過Bookname,則獲取特定圖書的相應URL – Alfaromeo