我有一个函数,我在其中创建一个Node并将textContent设置为特殊字符,例如项目符号(•) . 此函数在xsl:apply-templates中调用 . 但是,输出会逃脱特殊的特征而不是看到子弹,•出现在我的结果上 . 做了一些研究后,我没有找到任何方法来禁止从我的节点转义 . 我的论文是创建的Node是一个CDATA部分,但我怎样才能恢复呢?
这是我用来创建节点的代码:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.newDocument();
result = doc.createElement("doesntmatter");
result.setTextContent("•");
谢谢你的帮助 :)
编辑:像xslt中的disable-output-escaping,但对于java元素/节点应该可以做到这一点
1 回答
问题是你正在使用
setTextContent
然后提供转义版本 - 你应该让API进行转义 . 您当前正在尝试将节点的文本内容设置为字面上的"•"
- 而不是子弹 . 你可能只想要:指定内容应该只是U+2022 (bullet),这是十进制的代码点8226 .