作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须用下面 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");
oldValue
是 TextContent
的 <date>
元素,不是属性。检查here找到什么是属性。
关于java - 如何用新值替换 XML 标记之间的旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15214818/
我是一名优秀的程序员,十分优秀!