如何在Xpath中动态分配属性值

时间:2020-08-23 12:17:07

标签: java xml xpath domparser

我试图在XML文件中找到包含任意数量的某些属性的节点的NodeList。

我可以执行以下操作并获取NodeList

FilterXML

这很好。但是我如何循环和更改属性名称的值。我尝试了以下操作,但没有成功:

DocumentBuilderFactory dbf  = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();
Document schDoc = db.newDocument();
InputStream schStream = new ByteArrayInputStream(sch.xml);
schDoc = db.parse(schStream)
schDoc.getDocumentElement().normalize();

XPath xpath1 = XPathFactory.newInstance().newXpath();

String expAttStr = "descendant-or-self::*[contains(@Name,'total_amt')]";
XPathExpression exprForTotalAmt = xpath1.compile(expAttStr);
NodeList totalAmtNodeList = (NodeList) exprForTotalAmt.evaluate(schDoc,XPathConstants.NODESET);

如果有人能指出我正确的方向,我将非常感谢。谢谢。

0 个答案:

没有答案