我正在尝试使用XSLT从GSA(Google Search Appliance)转换XML并收到以下错误:
XmlException:'='是一个意外的令牌。预期的标记是';'。
XML具有以下内容:
< NU> ?/查询Q =测试和安培;站点= ActiveCases&安培; LR =&安培,即= UTF-8和; OE = UTF-8&安培;输出= xml_no_dtd&安培;客户= default_frontend&安培;获得= P&安培;排序=日期:d:L:D1&安培; getfields =%252A&安培;开始= 10安培; SA = N < / NU>
如何处理标签外的等号?
答案 0 :(得分:2)
导致问题的不是等号;它是&符号。尝试用&
替换所有&符号。
错误的原因是&符号开始entity reference的开头。因此,在解析文本时,解析器会将&符号视为引用的开头。然后它期望实体名称(name characters)和分号结束引用。 =
不是名称字符,并且它不是分号,因此会抛出错误。
您的另一个选择是将文本包装在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>