使用XSLT转换标记外带有等号的文本



我正试图使用XSLT从GSA(谷歌搜索设备)转换XML,结果出现以下错误:

XmlException:"="是意外的标记。所需的令牌为";"。

XML具有以下内容:

<NU>/搜索?q=测试&site=ActiveCases&lr=&ie=UTF-8&oe=UTF-8&输出=xml_no_dtd&client=default_frontend&access=p&sort=日期:D:L:d1&getfields=%252a&start=10&sa=N<NU>

你如何处理标签外的等号?

不是等号造成了问题;是安培数。尝试用&amp;替换所有的"与"符号。

错误的原因是"与"符号开始了实体引用的开头。因此,当解析文本时,解析器会将"与"符号视为引用的开头。然后,它需要实体名称(名称字符)和分号来结束引用。=不是名称字符,也不是分号,因此会引发错误。

您的另一个选择是将文本包装在CDATA部分中:

<NU><![CDATA[/search?q=Testing&site=ActiveCases&lr=&ie=UTF-8&oe=UTF-8&output=xml_no_dtd&client=default_frontend&access=p&sort=date:D:L:d1&getfields=%252a&start=10&sa=N]]></NU>

最新更新