XML中的含义及Java生成含该字符XML的正确方法
问题解答
一、生成期望XML输出的方法
你遇到的问题是因为setTextContent方法会自动对文本中的特殊字符(比如&)进行转义,导致你输入的被转成了。要得到目标XML,你不需要直接传入实体引用字符串,而是应该传入对应的实际字符:
修改后的Java代码如下:
public void addElement(Element parent, String elementName, String textContent){ Element el = document.createElement("ISAPPLICABLE"); // 直接使用Unicode转义字符表示对应的字符 el.setTextContent("\u0004 Applicable"); parent.appendChild(el); }
这样生成的XML中,该字符会被自动序列化为实体引用,符合你的预期。
二、XML中的含义
XML里的&#N;格式是十进制字符引用,用来表示Unicode码点为N的字符。这里的对应的是ASCII控制字符中的EOT(End of Transmission,传输结束符),属于不可见的控制字符,通常不会在常规文本中显示。
内容的提问来源于stack exchange,提问作者Pranjal Choladhara
相关产品推荐
相关产品推荐

