Java xPath表达式创建或修改节点
我想了解如何在简单的XML文件中创建或修改节点 以下是XML文件:Java xPath表达式创建或修改节点,java,xml,dom,xpath,xquery-update,Java,Xml,Dom,Xpath,Xquery Update,我想了解如何在简单的XML文件中创建或修改节点 以下是XML文件: <?xml version = "1.0"?> <myRootNode> <myNode a="P" b="Q" c="R"> <subNode id= "1"> <x>more text</x> <y>some more</y&
<?xml version = "1.0"?>
<myRootNode>
<myNode a="P" b="Q" c="R">
<subNode id= "1">
<x>more text</x>
<y>some more</y>
</subNode>
<subNode id="2">
<x>blah</x>
<y><blah blah</y>
</subNode>
</myNode>
<myNode a="S" b="T" c="U">
<subNode id= "1">
<x>some more text</x>
<y>even more</y>
</subNode>
<subNode id="2">
<x>abcdefg</x>
<y>hijklmno</y>
</subNode>
</myNode>
</myRootNode>
我还想知道如何使用纯xPath插入节点:
<subNode id="3">
<x>pqrst</x>
<y>uvxyz</y>
</subNode>
如果可能,请提供Java代码。谢谢。不幸的是,XPath本身不能用于修改XML文档。如果可能,请尝试使用来修改xml
<subNode id="3">
<x>pqrst</x>
<y>uvxyz</y>
</subNode>
有很多命令行选项:
- 移动
- 删除
- 改名
- 更新
- 附加
- 插入
/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[@id="2"]
<subNode id="3">
<x>pqrst</x>
<y>uvxyz</y>
</subNode>
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode" -t elem -n "subNode" example.xml
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[1]" -t attr -n "id=3" example.xml
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[@id='3']" -t elem -n "x" example.xml
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[@id='3']/x" -t text -n "pqrst" example.xml
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[@id='3']" -t elem -n "y" example.xml
xml ed -i "/myRootNode/myNode[@a='P' and @b='Q' and @c='R']/subNode[@id='3']/y" -t text -n "uvxyz" example.xml