有人可以告诉我为什么这不起作用吗?这让我发疯。
myFile.xml
<?xml version="1.0" encoding="UTF-8" ?>
<root date="oldValue" />
Java代码
try {
Document doc = builder.parse(new File("myFile.xml"));
Element root = doc.getDocumentElement();
System.out.println("date: " + root.getAttribute("date") + "\n");
root.setAttribute("date", "test");
System.out.println("date: " + root.getAttribute("date"));
} catch (Exception e) {
System.out.println("Something went wrong.");
}
输出
oldValue
oldValue
无论我做什么,我都无法将代码写入 XML 文件...我尝试在根的子节点上执行 setAttribute() 函数。我尝试过删除 root...没有任何作用。我非常沮丧,所以任何帮助将不胜感激。谢谢。
最佳答案
您是否遵循与下面相同的代码?这对我有用(与 myFile.xml 中的内容相同):
public static void main(String... args) throws Exception {
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
try{
Document doc = builder.parse(new File("myFile.xml"));
Element root = doc.getDocumentElement();
System.out.println("date: " + root.getAttribute("date") + "\n");
root.setAttribute("date", "test");
System.out.println("date: " + root.getAttribute("date"));
} catch (Exception e) {
System.out.println("Something went wrong.");
}
}
关于Java DOM setAttribute 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12064223/