gpt4 book ai didi

java - 尝试用 Java 解析 org.w3c.dom.Document XML 文档

转载 作者:行者123 更新时间:2023-11-30 02:22:58 25 4
gpt4 key购买 nike

我试图仅从字符串标签中获取数字。现在,Java 程序认为字符串标签包含 null。感谢您提前的帮助!

这是 XML

<?xml version="1.0"?>
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<string>6540321</string>
<string>6540322</string>
<string>6540323</string>
<string>6540324</string>
<string>6540325</string>
</ArrayOfstring>

这是我尝试过的

public static void toOrderListFromXML() throws ParserConfigurationException, SAXException, IOException {
File fXmlFile = new File("test.xml");

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(fXmlFile);

doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("string");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("\nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;

System.out.println("Order number: " + eElement.getNodeValue());
}
}
}

输出:

Root element :ArrayOfstring

Current Element :string
Order number: null

Current Element :string
Order number: null

Current Element :string
Order number: null
.......................
.......................

这是我尝试遵循的教程:http://www.java2s.com/Code/Java/XML/ParseanXMLstringUsingDOMandaStringReader.htm

最佳答案

public static void toOrderListFromXML() throws ParserConfigurationException, 
SAXException, IOException {
File fXmlFile = new File("test.xml");

DocumentBuilderFactory dbFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
org.w3c.dom.Document doc = dBuilder.parse(fXmlFile);

doc.getDocumentElement().normalize();

System.out.println("Root element :" +
doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("string");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("\nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;

System.out.println("Order number: " +
eElement.getTextContent());
}
}
}
}

然后输出将是

Root element :ArrayOfstring

Current Element :string
Order number: 6540321

Current Element :string
Order number: 6540322

Current Element :string
Order number: 6540323

Current Element :string
Order number: 6540324

Current Element :string
Order number: 6540325

关于java - 尝试用 Java 解析 org.w3c.dom.Document XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46342147/

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