相关疑难解决方法(0)

如何使用XPath和Java更新XML

我有一个XML文档,以及该文档的XPath表达式.我必须在运行时使用XPath来更新doc.

我怎么能用Java做到这一点?

以下是我的xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<PersonList>
    <Person>
        <Name>Sonu Kapoor</Name>
        <Age>24</Age>
        <Gender>M</Gender>
        <PostalCode>54879</PostalCode>
    </Person>
    <Person>
        <Name>Jasmin</Name>
        <Age>28</Age>
        <Gender>F</Gender>
        <PostalCode>78745</PostalCode>
    </Person>
    <Person>
        <Name>Josef</Name>
        <Age>232</Age>
        <Gender>F</Gender>
        <PostalCode>53454</PostalCode>
    </Person>
</PersonList>
Run Code Online (Sandbox Code Playgroud)

我必须更改名称和年龄的值//PersonList/Person[2]/Name.

java xml xpath

24
推荐指数
2
解决办法
6万
查看次数

如何在xml java中更新节点值

我目前正在开发一个xml项目.到目前为止,我已经使用Dom Parser成功将我的xml链接到我的java类.我在下面提供了代码.我正在努力的是将我的startdate的月份更新为1,因此像这样的2/2/2013,3/1/2013 ...将相应地在xml文件中更改.我updateDate在底部有方法调用,但是当我调用它时,xml文件不会更新它的值.帮助将不胜感激

data.xml 之前

<?xml version="1.0" encoding="UTF-8">
<data>
    <username>hello123</username>
    <startdate>01/01/2011</startdate>
    <enddate>06/01/2013</enddate>
</data>
Run Code Online (Sandbox Code Playgroud)

渴望data.xml 之后

<?xml version="1.0" encoding="UTF-8">
<data>
    <username>hello123</username>
    <startdate>02/01/2011</startdate> <--- This will change 
    <enddate>06/01/2013</enddate>
</data>
Run Code Online (Sandbox Code Playgroud)

main.java

public class main {

    public static void main(String[] args) {

        Calendar cal2 = null;

            String username = null;
            String startdate = null;
            String enddate = null;
            String date = null;
            String date_end = null;

            try {   

                File data = new File("data.xml");
                DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
                DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
                Document …
Run Code Online (Sandbox Code Playgroud)

java xml

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

xml ×2

xpath ×1