我需要通过此属性的XPath从XML文档中删除属性.
一切都应该用Java来完成.
我能够使用以下代码找到属性的节点:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document document = dbf.newDocumentBuilder().parse(new File("input.xml"));
XPathFactory xpf = XPathFactory.newInstance();
XPath xpath = xpf.newXPath();
XPathExpression expression = xpath.compile("//div[@id='1']/@id");
Node myNode = (Node) expression.evaluate(document, XPathConstants.NODE);
Run Code Online (Sandbox Code Playgroud)
我的想法是获取属性的节点父节点,然后调用removeChild方法将属性的节点作为参数传递.
myNode.getParentNode().removeChild(myNode);
Run Code Online (Sandbox Code Playgroud)
遗憾的是,根据API文档,属性节点始终没有父节点.
在这种情况下,有没有办法确定属性的Node父节点?
小智 21
它看起来像适当的DOM方法
((Attr) myNode).getOwnerElement()
Run Code Online (Sandbox Code Playgroud)
来自http://download.oracle.com/javase/6/docs/api/org/w3c/dom/Attr.html#getOwnerElement()
Element此属性附加到的节点或null此属性未使用的节点.
| 归档时间: |
|
| 查看次数: |
7696 次 |
| 最近记录: |