【发布时间】:2012-11-14 23:24:03
【问题描述】:
我有一个 xml,其中包含一些特殊字符,例如 & 和 whitespaces。
我想在 xsl 中处理这些特殊字符。
如何处理 xsl 中的特殊字符?
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cpdhtml.xsl"?>
<pmd-cpd>
<duplication lines="72" tokens="75">
<file line="632" path="M:\PBA0039 & Code\Common\ssc\src\Main.c"/>
<file line="1802" path="M:\PBA0039 & Code\Common\ssc\src\link1.c"/>
</duplication>
</pmd-cpd>
在这里您可以在path 中看到&。转换 xml 时出错。
请帮我解决这个问题。
【问题讨论】:
-
这不是格式良好的 XML,您需要在源代码中修复未转义的
&,然后才能使用 XSLT 处理它。 -
@IanRoberts 这个 xml 是由一些工具生成的。例如,某些文件夹名称可能包含
&。那么如何将其替换为 '&'? -
该工具需要修复以生成格式良好的 XML。 XSL 无法对格式不正确的 XML 文件进行操作。
-
好的...谢谢你的信息。
-
在 XSLT 2.0 中,您可以将其作为常规文本(不是 xml)文件读取,并将所有出现的“&”替换为“&”。这会转义“&”字符并生成格式良好的 XML 文档的文本表示。然后您可以使用您的 XSLT 代码处理此 XML 文档。
标签: xml xslt special-characters