为什么—&引用;是否转换为“&引用;从XML到HTML?
我使用Servlet和Tomcat在elasticsearch之上创建了一个web应用程序。我正在使用Saxon使用XSL样式表将XML转换为HTML网页 我不知道为什么XML中的“-”会转换为HTML中的“?” 这是我的XML的一部分(标题字段)为什么—&引用;是否转换为“&引用;从XML到HTML?,html,xml,apache,xslt,special-characters,Html,Xml,Apache,Xslt,Special Characters,我使用Servlet和Tomcat在elasticsearch之上创建了一个web应用程序。我正在使用Saxon使用XSL样式表将XML转换为HTML网页 我不知道为什么XML中的“-”会转换为HTML中的“?” 这是我的XML的一部分(标题字段) 布伦南主任在中央情报局外交关系委员会发言 此XML被转换为HTML。这就是标题在我的webapp中的样子 您将遵守?(标题中的问号) 我不知道为什么会这样。我在XSL中使用编码“UTF-8”。任何帮助都将不胜感激。嗯,这几乎肯定是某种字符编码问题
布伦南主任在中央情报局外交关系委员会发言
此XML被转换为HTML。这就是标题在我的webapp中的样子
您将遵守?(标题中的问号)
我不知道为什么会这样。我在XSL中使用编码“UTF-8”。任何帮助都将不胜感激。嗯,这几乎肯定是某种字符编码问题 首先要做的是检查XML中字符的编码。用于表示XML文件中字符的实际二进制/十六进制代码是什么?(您需要一些以十六进制显示文件的工具才能找到答案。请小心避免以可能更改编码的方式复制文件。)然后检查实际编码是否与声明的编码一致,也就是说,假设存在编码,则检查文件头的XML声明中显示的编码 如果所有这些看起来都正确,那么您需要对HTML文件执行相同的操作。同样,请在十六进制编辑器中查看HTML文件,注意不要以可能更改编码的方式复制它。如果HTML文件在内部不正确,则需要研究可能损坏角色的所有转换步骤。但是,如果HTML文件是正确的,则需要查看查看HTML的步骤(例如,从web服务器向浏览器提供HTML) 我认为最有可能的两个原因是(a)XML文件的声明编码与实际的内部编码不匹配,或者(b)您在浏览器中查看HTML文件时,HTTP头或字符集参数导致它以错误的编码(或者更确切地说,解码)显示
有一件事绝对不会影响它,那就是XSLT样式表的编码。转换后的xml是什么?它看起来破了吗?我怀疑你会得到任何好的答案,因为没有人能重现你的问题。对于XSLT中的解决方案,您可能需要发布一个可复制的、缩小的示例,其中您的问题仍然存在。谢谢,Michael。这很有帮助。我将再次尝试检查转换步骤。
<T>Director Brennan Speaks at the Council on Foreign Relations — Central Intelligence Agency</T>