我是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的更多方法
org.w3c.dom.Element
有关Java DocumentBuilder和DocumentBuilderFactory的更多信息。请记住,提供的示例将创建一个XML DOM树,因此,如果你有大量XML数据,则该树可能会很大。
Java DocumentBuilder
DocumentBuilderFactory
相关问题。
更新这是获取元素“值”的示例
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);