[英]how to get Node & node values from XML in java
我有一个xml试图解析和读取它,但是不知道xml可能包含多少个节点? 所以我想读取节点和节点的值?
我怎么说?
<company>
<personNam>John</personName>
<emailId>abc@test.com</emaiId>
<department>Products</department>
(may have additionaly nodes & values for same)
</company>
抱歉,忘记使用Dom添加我的代码:-
Document document = getDocumentBuilder().parse(new ByteArrayInputStream(myXML.getBytes("UTF-8")));
String xPathExp = "//company";
XPath xPath = getXPath();
NodeList nodeList = (NodeList)xPath.evaluate(xPathExp, document, XPathConstants.NODESET);
nodeListSize = nodeList.getLength();
System.out.println("#####nodeListSize"+nodeListSize);
for(int i=0;i<nodeListSize;i++){
element=(Element)nodeList.item(i);
m1XMLOutputResponse=element.getTextContent();
System.out.println("#####"+element.getTagName()+" "+element.getTextContent());
}
考虑使用JAXB库。 这实际上是将XML映射到Java类并返回的一种轻松的方法。 基本原则是JAXB会采用您的XML模式(XSD)并为您生成相应的Java类。 然后,您只需要调用marshall
或unmarshall
方法即可,这些方法将XML内容填充到Java类中,或者从Java类中生成XML。
当然,唯一的缺点是您需要知道如何编写XML模式:)
了解如何使用XML DOM 。 这是有关如何使用XML DOM来获取节点和节点值的示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.