[英]Java XML JDOM2 XPath - Read text value from XML attribute and element using XPath expression
[英]Insert text into an XML node located by an XPath expression with Java code
我有一个像这样的xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<body>
<request>
<location>
<address />
</location>
</request>
</body>
我的目标是在此文档中插入值“我的地址”,以便:
<?xml version="1.0" encoding="UTF-8"?>
<body>
<request>
<location>
<address>
My Address
</address>
</location>
</request>
</body>
我必须在Java类中达到此目标,该Java类必须创建从XML文件中读取该文档的文档(确定),并且我有一个XPath表达式(/ request / location / address),该表达式指示我在哪里放置文本(“我的地址” “)。 如何实现一个Java类,该类允许我从xml和XPath字符串开始将文本插入节点? 这个Java类必须是通用的,并且不绑定到特定的XML结构(这就是为什么我使用XPath表达式而不是将XMl结构放入类的原因)。 希望我的问题清楚。
这是执行此vtd-xml的代码。
import com.ximpleware.*;
public class insertTextNode {
public static void main(String[] s) throws VTDException, Exception {
VTDGen vg = new VTDGen();
AutoPilot ap = new AutoPilot();
XMLModifier xm = new XMLModifier();
if (vg.parseFile("input.xml", true)) {
VTDNav vn = vg.getNav();
ap.bind(vn);
xm.bind(vn);
ap.selectXPath("/body/request/location/address");
int i=0;
while((i=ap.evalXPath())!=-1){
xm.insertAfterHead("myAddress");
}
xm.output("output.xml");
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.