gpt4 book ai didi

java - 如何用新值替换 XML 标记之间的旧值

转载 作者:行者123 更新时间:2023-11-29 07:09:41 25 4
gpt4 key购买 nike

我必须用下面 XML 中的 newValue 替换日期标签中的 oldValue。我正在使用 setAttribute 函数来执行此操作,但它似乎不起作用。如果我必须使用不同的函数来替换标签之间的文本,请务必告诉我。

我的文件.xml

<?xml version="1.0" encoding="UTF-8" ?>  
<root>
<date>oldValue</date>
</root>

replace.java

Document doc = builder.parse(new File("myFile.xml"));  
Element root = doc.getDocumentElement();
System.out.println("Before");
System.out.println("Using getElementByTagName date: " + root.getElementsByTagName("date").item(0).getTextContent());
System.out.println("Using getAttribute date: " + root.getAttribute("date"));
root.setAttribute("date", "newValue");
System.out.println("After");
System.out.println("Using getElementByTagName date: " + root.getElementsByTagName("date").item(0).getTextContent());
System.out.println("Using getAttribute date: " + root.getAttribute("date"));

输出:

**Before**  
Using getElementByTagName date: oldValue
Using getAttribute date:
**After**
Using getElementByTagName date: oldValue
Using getAttribute date: test

通过大量阅读/实验,我发现 setAttribute() 可以像这样替换 XML。但是,这对我不起作用。


最佳答案

你需要setTextContent(String textContent)方法而不是 setAttribute方法。

root.getElementsByTagName("date").item(0).setTextContent("newValue");

oldValueTextContent<date>元素,不是属性。检查here找到什么是属性。

关于java - 如何用新值替换 XML 标记之间的旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com