在xquery中对字符串进行标记

时间:2012-05-19 05:00:49

标签: xquery tokenize

  

可能重复:
  Tokenizing in Xquery

让字符串a =“http://ontheland.com/letus/tag/present?page=20&type=0”,需要对此字符串进行标记,我希望将“20”作为整数。这个问题的主要问题是如何标记“&”。我一直在尝试“&”,但没有用。能否请你帮忙解决这个问题。

2 个答案:

答案 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,'&amp;')[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

进行测试