gpt4 book ai didi

java - 使用 XML 键名访问值

转载 作者:行者123 更新时间:2023-12-01 12:41:11 25 4
gpt4 key购买 nike

我的代码中的 Document 对象 (org.w3c.dom.Document) 中包含与此类似的 XML:

<?xml version="1.0" encoding="UTF-8"?>
<root>
<key keyname="info"> </key>
<key keyname="name"/>
<key keyname="address"/>
<key keyname="id">13</key>
</root>

我希望能够访问每个key节点并打印出其值,并且能够打印出每个值及其相应的keyname

我以前从未使用 keyname 处理过 XML,如何访问这些值?

最佳答案

使用 DOM 解析器使用 getAttributes().getNamedItem("keyname") 方法非常简单。

示例代码:

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

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;

public class SpringXMLParser {

public static void parse(String file) throws Exception {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document doc = docBuilder.parse(new FileInputStream(file));
Element root = doc.getDocumentElement();
org.w3c.dom.NodeList nodeList = root.getElementsByTagName("key");
for (int i = 0; i < nodeList.getLength(); i++) {
System.out.print(((Node) nodeList.item(i))
.getAttributes().getNamedItem("keyname"));
System.out.println("\tvalue: "+((Node) nodeList.item(i)).getTextContent());
}

}

public static void main(String args[]) throws Exception {
parse("resources/xml5.xml");
}
}

输出:

keyname="info"      value:  
keyname="name" value:
keyname="address" value:
keyname="id" value: 13

关于java - 使用 XML 键名访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083804/

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