java中 r是什么字符_保留数字字符实体字符,如`  \r`在Java中解析XML时

我正在解析包含数字字符实体字符的XML,例如(但不限于) &安培;#13; &安培; LT; &安培; GT; (Java中的换行回车<>).在解析时,我将节点的文本内容附加到StringBuffer,以便稍后将其写入文本文件.

但是,当我将String写入文件或将其打印出来时,这些unicode字符将被解析或转换为换行符/空格.

在Java中迭代XML文件的节点并将文本内容节点存储到String时,如何保留原始数字字符实体字符符号?

demo xml文件的示例:

示例Java代码.它加载XML,遍历节点并将每个节点的文本内容收集到StringBuffer.迭代结束后,它将StringBuffer写入控制台,也写入文件(但没有 )符号.

将这些符号存储到字符串时,保留这些符号的方法是什么?你可以帮我吗?谢谢.

public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {

DocumentBuilderFactory documentFactory = DocumentBuilderFactory.newInstance();

Document document = null;

DocumentBuilder documentBuilder = documentFactory.newDocumentBuilder();

document = documentBuilder.parse(new File("path/to/demo.xml"));

StringBuilder sb = new StringBuilder();

NodeList nodeList = document.getElementsByTagName("*");

for (int i = 0; i < nodeList.getLength(); i++) {

Node node = nodeList.item(i);

if (node.getNodeType() == Node.ELEMENT_NODE) {

NamedNodeMap nnp = node.getAttributes();

for (int j = 0; j < nnp.getLength(); j++) {

sb.append(nnp.item(j).getTextContent());

}

}

}

System.out.println(sb.toString());

try (Writer writer = new BufferedWriter(new OutputStreamWriter(

new FileOutputStream("path/to/demo_output.xml"), "UTF-8"))) {

writer.write(sb.toString());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值