xmodifierXML 创建和编辑工具
xmodifier 是使用 XPATH 创建或者更 XML。XPATH 可以用来搜索 XML,但是有时候也可以用来编辑或者创建 XML:
XPath | Value | Desc |
---|---|---|
/ns:root/ns:element1 | add <ns:element1/> | |
/ns:root/ns:element2[@attr=1] | add <ns:element2 attr="1"/> | |
/ns:root/ns:element2/@attr | 1 | add <ns:element2 attr="1"/> |
/ns:root/ns:element1/ns:element11 | add <ns:element11/> | |
/ns:root/ns:element3 | TEXT | add <ns:element3>TEXT</ns:element3> |
/ns:root/ns:element1[ns:element12]/ns:element13 | add <ns:element13/> | |
//PersonList/Person[2]/Name | NewName | set the second Person node's Name Text |
//PersonList/Person[2]/Name/text() | NewName | set the second Person node's Name Text |
//PersonList/Person[1]/Name(:delete) | delete this Name node | |
//PersonList/Person(:add)/Name | NewName | alway add a new Person node |
//PersonList/Person(:insertBefore(Person[Name='Name2']))/Name | NewName | add a new Person node before Person named "Name2" |
代码示例:
创建新的 XML
Document document = createDocument(); //empty document XModifier modifier = new XModifier(document); modifier.setNamespace("ns", "http://localhost"); // create an empty element modifier.addModify("/ns:root/ns:element1"); // create an element with attribute modifier.addModify("/ns:root/ns:element2[@attr=1]"); // append an new element to existing element1 modifier.addModify("/ns:root/ns:element1/ns:element11"); // create an element with text modifier.addModify("/ns:root/ns:element3", "TEXT"); modifier.modify();
XML:
<root xmlns="http://localhost"> <element1> <element11/> </element1> <element2 attr="1"/> <element3>TEXT</element3> </root>
修改现有的 XML:
原始 XML:
<root xmlns="http://localhost"> <element1> <element11></element11> </element1> <element1> <element12></element12> </element1> <element2></element2> <element3></element3> </root>
Document document = readDocument("modify.xml"); XModifier modifier = new XModifier(document); modifier.setNamespace("ns", "http://localhost"); modifier.addModify("/ns:root/ns:element1[ns:element12]/ns:element13"); modifier.modify();
修改之后的 XML:
<root xmlns="http://localhost"> <element1> <element11/> </element1> <element1> <element12/> <element13/> </element1> <element2/> <element3/> </root>
添加了新元素 ns:element13
评论