[英]Parse xml to different members based on Attribute value
我正在研究XML到Java的解析。 我有类似的情况。
我需要根据属性值将XML解析为Java。
我需要解析一个成员中具有属性PERMANENT="Y"
以及另一个成员中具有属性PERMANENT="N"
所有EMPLOYEE元素。
<EMPLOYEE PERMANENT="Y">
<DETAILS NAME="AA" ID="1" AGE="28" />
<DETAILS NAME="BB" ID="2" AGE="29" />
</EMPLOYEE>
<EMPLOYEE PERMANENT="N">
<DETAILS NAME="CC" ID="3" AGE="28" />
<DETAILS NAME="DD" ID="4" AGE="29" />
</EMPLOYEE>
Java的
public class Employee
{
// @XStreamAlias("EMPLOYEE") and attribute PERMANENT="Y"
private Details permanentEmployee;
// @XStreamAlias("EMPLOYEE") and attribute PERMANENT="N"
private Details tempEmployee;
}
我不确定该怎么做。
有人能帮我吗。
您可以使用java xml API进行操作
用于选择“ DETAILS”节点的XPath表达式将如下所示:
import javax.xml.xpath.XPath;
import javax.xml.xpath.XPathFactory;
//...
XPath xPath = XPathFactory.newInstance().newXPath();
String expression = "/documentBody/EMPLOYEE[@PERMANENT="Y"]/DETAILS"
NodeList nodeList = (NodeList) xPath.compile(expression).evaluate(xmlDocument, XPathConstants.NODESET);
这将返回一个nodeList,您需要为每个DETAILS节点进行遍历,我假设它描述了一个雇员。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.