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

我是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()返回你是文档的文档元素节点(你的情况)。

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

有关Java DocumentBuilderDocumentBuilderFactory的更多信息。请记住,提供的示例将创建一个XML DOM树,因此,如果你有大量XML数据,则该树可能会很大。

相关问题。

更新这是获取元素“值”的示例

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检索XML的元素值? 的全部内容, 来源链接: utcz.com/qa/406057.html

回到顶部