gpt4 book ai didi

java - 如何使用 Java 检索 XML 的元素值?

转载 作者:IT老高 更新时间:2023-10-28 20:37:08 26 4
gpt4 key购买 nike

我是 XML 新手。我想根据请求名称阅读以下 XML。请帮助我了解如何在 Java 中阅读以下 XML -

<?xml version="1.0"?>
<config>
<Request name="ValidateEmailRequest">
<requestqueue>emailrequest</requestqueue>
<responsequeue>emailresponse</responsequeue>
</Request>
<Request name="CleanEmail">
<requestqueue>Cleanrequest</requestqueue>
<responsequeue>Cleanresponse</responsequeue>
</Request>
</config>

最佳答案

如果您的 XML 是一个字符串,那么您可以执行以下操作:

String xml = ""; //Populated XML String....

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(xml)));
Element rootElement = document.getDocumentElement();

如果您的 XML 在文件中,那么 Document document将像这样实例化:

Document document = builder.parse(new File("file.xml"));

document.getDocumentElement()返回您作为文档的文档元素的节点(在您的情况下为 <config>)。

一旦您拥有 rootElement ,您可以访问元素的属性(通过调用 rootElement.getAttribute() 方法)等。有关 java 的 org.w3c.dom.Element 的更多方法

更多关于java的信息DocumentBuilder & DocumentBuilderFactory . 请记住,所提供的示例创建了一个 XML DOM 树,因此如果您有大量 XML 数据,树可能会很大。


更新下面是获取元素 <requestqueue> 的“值”的示例

protected String getString(String tagName, Element element) {
NodeList list = element.getElementsByTagName(tagName);
if (list != null && list.getLength() > 0) {
NodeList subList = list.item(0).getChildNodes();

if (subList != null && subList.getLength() > 0) {
return subList.item(0).getNodeValue();
}
}

return null;
}

你可以有效地称它为,

String requestQueueName = getString("requestqueue", element);

关于java - 如何使用 Java 检索 XML 的元素值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4076910/

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