Java DocumentBuilder未更新xml文件
我正在正确读取xml文件,但无法编写它 下面是一个文件:用于键值设置的配置文件Java DocumentBuilder未更新xml文件,java,xml,Java,Xml,我正在正确读取xml文件,但无法编写它 下面是一个文件:用于键值设置的配置文件 <?xml version="1.0" encoding="UTF-8"?> <configuration> <setting key="Password" value="d92e1dedba95d2cf00d4c567e57e3342"/> <setting key="ExceptionFileLog" value="exception.txt"/>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<setting key="Password" value="d92e1dedba95d2cf00d4c567e57e3342"/>
<setting key="ExceptionFileLog" value="exception.txt"/>
<setting key="ActionFileLog" value="actions.txt" />
<setting key="ShowInfoMessage" value="false" />
</configuration>
到目前为止还不错,但我无法写入并保留对文件的更改:
public boolean updateValue(String key, String value)
{
NodeList settlist = _doc.getElementsByTagName(SETTNAME);
for(int i = 0; i < settlist.getLength(); i++)
{
Element sett = (Element) settlist.item(i);
if(sett.getNodeType() == Node.ELEMENT_NODE)
{
if(null != sett.getAttribute("key") && sett.getAttribute("key").equals(key))
{
sett.setAttribute("value", value);
return true;
}
}
}
return false;
}
public boolean updateValue(字符串键,字符串值)
{
NodeList委托人=_doc.getElementsByTagName(SETTNAME);
for(int i=0;i
因此,如果我从_doc(Document object)打印xml文件,那么更改被正确写入,但xml文件不会更新
我假设我正在打开、读取和写入内存中的xml文件,我需要一种在磁盘上持久保存更改的方法。
我不知道,任何建议都将不胜感激。使用以下代码保存更改后的xml文件
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Result output = new StreamResult(xml); // xml is a object of File i.e. File xml = new File(filePath);
Source input = new DOMSource(_doc);
transformer.transform(input, output);
它将更新后的值存储在xml文件中
引用自您没有存储xml文件..所有更改都保留在内存中..正常工作!谢谢我想是的,但我不知道怎么做。我是java新手。。。
Transformer transformer = TransformerFactory.newInstance().newTransformer();
Result output = new StreamResult(xml); // xml is a object of File i.e. File xml = new File(filePath);
Source input = new DOMSource(_doc);
transformer.transform(input, output);