0

我想从 XML 文档中提取一些链接(链接的格式与 html 页面上的格式相同)。

例如,一个链接是“http://xyz.com/start/tyu/a.html”,另一个是“http://ert.com/tyu/b.html”,而第三个链接是“http:// /asdf.com/ghjk/c.html"

从上面的 3 个链接(我在 FLWOR 表达式中使用 for 子句)...我只想选择其中包含字符串“tyu”的链接——我想为此使用子字符串,但是子字符串需要指定开始和结束位置 - 而在我的场景中,我不知道所需的字符串将在哪个位置。

在这种情况下如何进行子字符串匹配,即不知道子字符串出现的确切位置?为此,我可以使用 XQuery 1.0。

最后,我想提取链接 URL,以及链接文本......

4

1 回答 1

1

这是fn:contains的工作:

   for $link in
   (
     <a href="http://xyz.com/start/tyu/a.html">first link</a>,
     <a href="http://ert.com/tyu/b.html">second link</a>,
     <a href="http://asdf.com/ghjk/c.html">third link</a>
   )
   where contains($link/@href, "tyu")
   return <link url="{$link/@href}" text="{$link}"/>
于 2012-06-27T21:40:03.010 回答