gpt4 book ai didi

Java 解析 XML 行的简单方法

转载 作者:行者123 更新时间:2023-12-01 12:03:55 26 4
gpt4 key购买 nike

我一直在尝试弄清楚如何解析 XML 文件,但是每篇文章看起来都非常令人困惑。

她就是我的样子。

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<root-config>
<session timeout="100" warning="30"/>
</root-config>

在我的 XML 文件中,我只是检查以下节点名称是否存在 - session.如果 session 存在,我想获取属性超时和警告。

是否有一种简单的方法可以在 Java 中执行此操作,而无需创建大量代码?

最佳答案

看看 Document Object Model (DOM) API,特别是如何加载 XML 树和 read data from it .

这是如何从示例 XML 文档中检索信息的示例:

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

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

...

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse(new File("input.xml"));

NodeList sessionNodelist = document.getElementsByTagName("session");
if(sessionNodelist.getLength() > 0) {
Element sessionElement = (Element) sessionNodelist.item(0);
String timeout = sessionElement.getAttribute("timeout");
String warning = sessionElement.getAttribute("warning");
...
}

前三行创建一个工厂对象实例,用于解析输入文件并将 XML 树加载到内存中。

其余代码通过获取session节点列表来遍历文档树。如果存在,则从 session 元素中检索属性 timeoutwarning。请注意,将 sessionElement 显式转换为 Element 类型,因为我们知道 XML 节点的类型是元素(Node 是表示多种类型的 XML 节点(如元素和属性)的接口(interface)。

关于Java 解析 XML 行的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27802942/

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