2015-10-06 35 views
0

如何通過元素名稱從XML文件中提取數據塊,或刪除除一個元素及其所有子節點之外的XML文件的所有內容?從java中的xml中提取特定元素

我是Java新手,我嘗試過XPath,但沒有得到我想要的。

+1

請出示你有什麼到目前爲止已經試過。 – Thilo

+0

閱讀有關XML操作的DOM。我想你可以使用DOM從現有的XML文件中添加/刪除信息。另請閱讀SAX解析。並且在兩個XML解析方法之間進行權衡。 –

+0

你可以顯示你的文檔的結構和你想要提取什麼類型的內容。也許我們可以幫助構建一個XPath查詢。 –

回答

0

你不要刪除任何東西。通過XPath,你需要橫切你需要的元素。另一件事是Xpath與您用於腳本的語言無關。它可以使用Java,Python,C#,紅寶石等

要了解更多的XPath參考以下鏈接: -

http://www.w3schools.com/xsl/xpath_intro.asp

希望它會幫助你:)

0

測試 。 ... ....

這裏是獲取ID元素內容的示例代碼 表達式 public static final String IdExpr =「/ NameDefinition/@ Id」;

字符串evaluateXML(字符串文件,字符串IdExpr){

Stringres= null; 
try { 
    FileInputStream fis = new FileInputStream(new File(file)); 

    DocumentBuilderFactory builderFactory = DocumentBuilderFactory 
     .newInstance(); 
    DocumentBuilder builder = builderFactory.newDocumentBuilder(); 
    Document xmlDocument = builder.parse(fis); 

    XPath xPath = XPathFactory.newInstance().newXPath(); 

    String Id = xPath.compile(IdExpr).evaluate(
      xmlDocument); 




    return Id; 
}