2011-11-02 36 views
1
<url>{substring-before(data($y/link[1]/@href),'&')}</url> 

试图运行,这是错误的Xquery与FN:串 - 前

No closing ';' found for entity or character reference 

任何人有任何的想法是什么导致了这个错误,当我得到的错误?

回答

4

在XQuery中,字符串文字(和某些其他上下文中)中的&符号需要转义为&amp;,就像它在XML中一样。

1

迈克尔凯是正确的。 “&”在XML中是非法的。它总是由一个实体陪伴。示例包括& < >等 如果您认为由于您正在搜索“&”而不是“&”而导致您的搜索不起作用,那是不正确的想法。作为一个人,试着在你的脑海里翻译“&”真的看起来像“&”到XML解析器。这样做会起作用:

<url>{substring-before(data($y/link[1]/@href),'&amp')}</url>