在写入的XML文件(java)中不转义字符

时间:2017-03-14 17:48:58

标签: java xml escaping

我使用 org.w3c.dom 来处理XML文件。 我加载一个xml,更改属性的值并将其写回磁盘。但是,所有撇号都在xml中作为'而不是' 如何在XML文件中转义它们?

我按以下方式加载文件:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.parse(path/to/file.xml);

我通过调用

来更改属性
attr.setNodeValue(newAttrValue)

我也试过attr.setNodeValue(org.apache.commons.lang.StringEscapeUtils.escapeXML(newAttrValue))

我用以下方式编写XML:

try {
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();
    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");

    DOMSource source = new DOMSource(doc);

    StreamResult result = new StreamResult(new File(path/to/file.xml));

    transformer.transform(source, result);
} catch (TransformerException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

0 个答案:

没有答案