在Android上更新XML文件时出错

时间:2015-02-04 11:32:02

标签: java android xml parsing document

我试图在Android上编辑XML文件,当我进行更新时,如果我添加到某个节点的字符串默认大于该字符串,那么我的XML就会损坏。

如果我有:

<Configuracion>
  <CamposEditables>Empresa</CamposEditables>
</Configuracion>

我添加&#34;,Web&#34;到我得到的节点:

<Configuracion>
  <CamposEditables>Empresa, Web</CamposEditables>
</Configura

我已经为一个节点添加了5个字符,但是我的文件保持了相同的字符名称,所以从文件的末尾开始需要5个字符。

这是我的代码:

File filexml = new File(Environment.getExternalStorageDirectory().getAbsolutePath().toString() + "/configuracion.xml");

DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
org.w3c.dom.Document doc = docBuilder.parse(filexml);

Node nodes = doc.getElementsByTagName("Configuracion").item(0);
NodeList list = nodes.getChildNodes();

for (int i = 0; i<list.getLength();i++)
{
    Node node = list.item(i);

    if("CamposEditables".equals(node.getNodeName()))
    {
        String camposeditables = "Empresa, Web";
        node.setTextContent(camposeditables);
    }
}

TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();

DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(filexml);
transformer.transform(source, result);

提前感谢您的帮助。

0 个答案:

没有答案