2012-04-24 104 views
0

對於java來說比較新,並且試圖解析一個在Java中有前綴的XML。 樣本。如何用Java中的名稱空間解析XML文件?

<client:ClientName> 
     <client:nameTitle>Mr</client:nameTitle> 
     <client:familyName>John</client:familyName> 
     <client:givenName>George</client:givenName> 
    </client:ClientName> 

,而我有很多的解決方案,可以讀取標籤沒有前綴,如在內容使用getTagValue如

<client>Content</client>. 

檢索標籤的值,如之前已被證明具有挑戰性。提供的任何援助非常感謝。

在此先感謝。

+0

正確的術語是「XML名稱空間」;我已經更新了標題。這應該會導致*很多*在線讀取... – 2012-04-24 05:35:01

+1

也許會添加一些代碼,以便我們至少知道您打算使用哪個庫。導致錯誤或意外結果的代碼也比沒有代碼好。 – 2012-04-24 05:36:46

+0

找到了解決辦法;它不是很優雅,但適用於相關的XML文件。 http://www.coderanch.com/t/445366/java/java/java-Xpath-Namespace-Resolved。抱歉不添加代碼.. thnx @pst。仍然在尋找少一些聚集的東西。 – Peterg86 2012-04-24 05:59:01

回答

0

您的示例不是命名空間格式良好。它使用一個名稱空間前綴'client',而不聲明該前綴的綁定:一個可能會看到xmlns:client="something"

原則上XML不是名稱空間良好的形式仍然是XML,並且有處理它的方法;但它很少遇到,現在大多數XML工具都只能處理名稱空間格式良好的輸入。

您的問題的答案取決於知道您是否真的想處理非名稱空間良好的XML或您是否簡單地省略了示例中的名稱空間聲明。