我不太清楚为什么我不能修改我的xml属性。下面的代码我用来从XML中读取属性。拉出属性没有任何问题。
document = documentBuilder.parse(file);
NodeList sessionNodelist = document.getElementsByTagName("session");
if (sessionNodelist.getLength() > 0)
{
Element sessionElement = (Element) sessionNodelist.item(0);
String timeout = sessionElement.getAttribute("timeout");
String warning = sessionElement.getAttribute("warning");
}
现在,当我去设置它们时,它不起作用,我不太清楚为什么。代码如下。它是我用来拉动atribles的完全相同的代码,但是我使用了带有两个参数的setAttribute而不是getAttribute。 setAttribute(String name,String Value)。
document = documentBuilder.parse(file);
NodeList sessionNodelist = document.getElementsByTagName("session");
if (sessionNodelist.getLength() > 0)
{
Element sessionElement = (Element) sessionNodelist.item(0);
sessionElement.setAttribute("timeout","12");
sessionElement.setAttribute("warning", "10");
}
有什么想法吗?
答案 0 :(得分:0)
您需要将文档树写回XML文件。有关如何将DOM树写入文件,请参阅this page。
您可以使用javax.xml.transform.Transformer
将对象写入文件,如下所示:
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(document);
StreamResult result = new StreamResult(file);
transformer.transform(source, result);