gpt4 book ai didi

java - 如何禁用/避免 Java-XML 中的 Ampersand-Escaping?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:52 26 4
gpt4 key购买 nike

我想创建一个 XML,其中空格被替换为  。但是 Java-Transformer 转义了 A 符号,所以输出是  

这是我的示例代码:

public class Test {

public static void main(String[] args) {

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();

Element element = document.createElement("element");
element.setTextContent(" ");
document.appendChild(element);

ByteArrayOutputStream stream = new ByteArrayOutputStream();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
StreamResult streamResult = new StreamResult(stream);
transformer.transform(new DOMSource(document), streamResult);
System.out.println(stream.toString());

}

}

这是我的示例代码的输出:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<element>&amp;#160;</element>

有什么解决或避免这种情况的想法吗?非常感谢!

最佳答案

使用输出转义如下:

Node disableEscaping = document.createProcessingInstruction(StreamResult.PI_DISABLE_OUTPUT_ESCAPING, "&");
Element element = document.createElement("element");
element.setTextContent("&#160;");
document.appendChild(disableEscaping );
document.appendChild(element);
Node enableEscaping = document.createProcessingInstruction(StreamResult.PI_ENABLE_OUTPUT_ESCAPING, "&");
document.appendChild(enableEscaping )

关于java - 如何禁用/避免 Java-XML 中的 Ampersand-Escaping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7469202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com