gpt4 book ai didi

java - 如何使用 JxPath 和 DOM 解析器解析 XML 文件

转载 作者:行者123 更新时间:2023-11-29 04:34:25 25 4
gpt4 key购买 nike

我需要一个简单的例子,说明如何使用 Java DOM 解析器和 Apache JxPath 解析 XML 文件。我了解 DOM 解析器技术,但现在我正在尝试将 JxPath 集成到我的源代码中。

我在网络中搜索过,但找不到工作示例。

为了测试,我有这个 xml:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<cd gender="male">
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
<year>1985</year>
</cd>
<cd gender="male">
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
</catalog>

Java代码:

File file = new File("Files/catalog.xml");
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
try
{
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(file);

NodeList nList = doc.getElementsByTagName("cd");
for(int j = 0; j<nList.getLength(); j++){

Element element = (Element)nList.item(j);
System.out.println(element.getElementsByTagName("artist").item(0).getTextContent() + "\n");

}

}
catch (ParserConfigurationException | SAXException | IOException e)
{
e.printStackTrace();
}

我已经阅读了类 Container、DocumentContainer 和 JXPathContext,但是 对于一些帮助或具有特定工作示例的 Web 资源,我将不胜感激。

最佳答案

这是与您的工作类似的示例。

File file = new File("Files/catalog.xml");
DocumentContainer dc = new DocumentContainer(file.toURI().toURL());
JXPathContext ctx = JXPathContext.newContext(dc);
Iterator iter = ctx.iterate("//cd/artist");
//In this case, following API will return DOM object
//Iterator iter = ctx.selectNodes("//cd/artist").iterator();
while (iter.hasNext()) {
System.out.println(iter.next());//object type is String
}

关于java - 如何使用 JxPath 和 DOM 解析器解析 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42300430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com