1

可能的重复:
Xquery 中的标记

让字符串 a =“ http://ontheland.com/letus/tag/present?page=20&type=0 ”,需要在我想将“20”作为整数的地方标记这个字符串。主要问题是如何标记“&”。我一直在尝试使用"&",但没有用。你能帮助解决这个确切的问题吗?

4

2 回答 2

1

你需要使用 & 作为 & 的实体:

let $a := <a><![CDATA[http://ontheland.com/letus/tag/present?page=20&type=0]]></a>
return xs:int(tokenize(tokenize($a,'&amp;')[1],'=')[last()])

You can try this example live at http://www.zorba-xquery.com/html/demo#H8dHNTZwa2AnbIWhKEfMQ9HKT84=

于 2012-05-19T10:32:10.000 回答
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 测试

于 2012-05-19T05:59:01.937 回答