可能重复:
Tokenizing in Xquery
让字符串a =“http://ontheland.com/letus/tag/present?page=20&type=0”,需要对此字符串进行标记,我希望将“20”作为整数。这个问题的主要问题是如何标记“&”。我一直在尝试“&”,但没有用。能否请你帮忙解决这个问题。
答案 0 :(得分:1)
你需要使用& amp; amp;作为&的实体:
let $a := <a><![CDATA[http://ontheland.com/letus/tag/present?page=20&type=0]]></a>
return xs:int(tokenize(tokenize($a,'&')[1],'=')[last()])
您可以在http://www.zorba-xquery.com/html/demo#H8dHNTZwa2AnbIWhKEfMQ9HKT84=
上试用此示例答案 1 :(得分:0)
除非该字符串是CDATA,否则您的XML格式不正确,并且您的xquery可能无法正常工作。如果是CDATA,您应该只需使用&
进行标记即可。
示例:
<强> XML 强>
<a><![CDATA[http://ontheland.com/letus/tag/present?page=20&type=0]]></a>
XPath (将在XQuery中使用)
xs:int(tokenize(tokenize(/a,'&')[1],'=')[last()])
<强>结果强>
20
使用Saxon HE
进行测试