0

XMLドキュメントからいくつかのリンクを抽出したい(リンクはhtmlページと同じ形式です)。

たとえば、リンクは「http://xyz.com/start/tyu/a.html」で、別のリンクは「http://ert.com/tyu/b.html」で、3番目のリンクは「http:/ /asdf.com/ghjk/c.html "

上記の3つのリンク(FLWOR式でfor句を使用しています)から...文字列「tyu」を含むリンクのみを選択したいのですが、これにはサブストリングを使用することを考えました。ただし、サブストリングでは開始位置と終了位置を指定する必要がありますが、私のシナリオでは、目的の文字列がどの位置にあるかわかりません。

このようなシナリオ、つまりサブストリングの発生の正確な位置がわからない場合、サブストリングのマッチングを行うにはどうすればよいですか?この目的でXQuery1.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 に答える