我有一个xml,我需要应用过滤器来过滤掉一些nodes
。实际上,客户端通过请求xml使用XPATH
表示法发送过滤条件
即。 ObjectData [VData [@DestCode = BEANR0170100497]]
当我回复客户端时,我需要过滤并仅发送上述数据。我可以使用Jaxb
或任何其他简单的parser
执行此操作吗?任何样本都会非常感激。
答案 0 :(得分:0)
XPath内置于默认API中,例如......
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document doc = dbf.newDocumentBuilder().parse(...);
XPathFactory xf = XPathFactory.newInstance();
XPath xPath = xf.newXPath();
String query = ...
XPathExpression xExp = xPath.compile(query);
NodeList nl = (NodeList) xExp.evaluate(doc, XPathConstants.NODESET);
for (int index = 0; index < nl.getLength(); index++) {
Node node = nl.item(index);
System.out.println(node.getTextContent());
}