2015-10-06 34 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; 
}