繁体   English   中英

使用Java代码将文本插入XPath表达式所定位的XML节点中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM