繁体   English   中英

如何从Java中的XML获取节点和节点值

[英]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类。 然后,您只需要调用marshallunmarshall方法即可,这些方法将XML内容填充到Java类中,或者从Java类中生成XML。

当然,唯一的缺点是您需要知道如何编写XML模式:)

了解如何使用XML DOM 这是有关如何使用XML DOM来获取节点和节点值的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM