Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么—&引用;是否转换为“&引用;从XML到HTML?_Html_Xml_Apache_Xslt_Special Characters - Fatal编程技术网

为什么—&引用;是否转换为“&引用;从XML到HTML?

为什么—&引用;是否转换为“&引用;从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”。任何帮助都将不胜感激。嗯,这几乎肯定是某种字符编码问题

我使用Servlet和Tomcat在elasticsearch之上创建了一个web应用程序。我正在使用Saxon使用XSL样式表将XML转换为HTML网页

我不知道为什么XML中的“-”会转换为HTML中的“?”

这是我的XML的一部分(标题字段)

布伦南主任在中央情报局外交关系委员会发言
此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>