gpt4 book ai didi

java - 使用 getelementsbytagname 进行 XML 过滤

转载 作者:行者123 更新时间:2023-12-01 13:57:27 28 4
gpt4 key购买 nike

我正在尝试使用以下程序解析 xml 文件,但想知道为什么 getFirstChild() 在打印时为空白...

nodelist 包含所有 employee 节点,我正在处理每个节点并尝试获取 firstchildlastchild..

xml 文件:

<?xml version="1.0"?>
<Employees>
<Employee emplid="1111" type="admin">
<firstname>John</firstname>
<lastname>Watson</lastname>
<age>30</age>
<email>johnwatson@sh.com</email>
</Employee>
<Employee emplid="2222" type="admin">
<firstname>Sherlock</firstname>
<lastname>Homes</lastname>
<age>32</age>
<email>sherlock@sh.com</email>
</Employee>
</Employees>

java程序:

package XML;


import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class XMLTest {

/**
* @param args
*/
public static void main(String[] args) {


DocumentBuilderFactory builderfactory = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder builder = builderfactory.newDocumentBuilder();
Document xmldocument = builder.parse(new FileInputStream(new File("c:/employees.xml")));
NodeList node = xmldocument.getElementsByTagName("Employee");
System.out.println("node length="+node.getLength());
for (int temp = 0; temp < node.getLength(); temp++){
System.out.println("First Child = " +node.item(temp).getFirstChild().getNodeValue());
System.out.println("Last Child = " +node.item(temp).getLastChild().getNodeValue());
}
} catch (ParserConfigurationException | SAXException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




}

}

最佳答案

这很可能是由于列表和元素中作为文本节点出现的空白(空格、制表符、换行符等)造成的。

当使用 java 的 XML DOM 时,我倾向于编写一个像 this 这样的帮助器。因为这很乏味。

关于java - 使用 getelementsbytagname 进行 XML 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555015/

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