- - PR -
xpathでand検索を行いたい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-06-01 14:37
いつもお世話になります。只今、VB.NETとXMLで掲示板を作成しています。
投稿されたデータの中からテキストボックスに入力された条件で検索を行いたいのですが、 スペースで文字を区切ってand検索を行いたいのです。 SQLならand条件を足していけばいいのでしょうがxpathではどう記述すればよいのでしょうか? Dim parentNoNode As XmlNodeList parentNoNode = xmldoc.SelectNodes("dataroot/表示[contains(.,'" & txtSel.Text & "')]/@親No") 上記のコードでtxtSelが条件入力欄です。 この式で表示要素の下にtxtSel.Textの文字列が含まれる親No属性のリストを抽出しています。 複数の検索文字列で検索を行った場合、containsで検索が可能なのでしょうか? 宜しくご教授お願いしたします。 |
|
投稿日時: 2004-06-01 15:21
XPath 論理演算子 and
[contains(.,検索語1) and contains(.,検索語2)] あるいは,連続指定 [contains(.,検索語1)][contains(.,検索語2)] |
|
投稿日時: 2004-06-01 15:32
MMXさん、早速のご返答ありがとうございます。
また結果をご報告いたします。ありがとうございました。 |
|
投稿日時: 2004-06-01 16:39
出来ましたので報告します。
Dim parentNoNode As XmlNodeList parentNoNode = xmldoc.SelectNodes("dataroot/表示[contains(.,'" & txtSel.Text & "')]/@親No") 上のコードを以下のように修正しました Dim parentNoNode As XmlNodeList '検索条件を作成 Dim strJoken As String = Fnc_Create_Joken(txtSel.Text) parentNoNode = xmldoc.SelectNodes("dataroot/表示" & strJoken & "/@親No") ======================= 条件作成Function ======================= Private Function Fnc_Create_Joken(ByVal input As String) As String '条件の配列を作成(全角スペースを半角スペースに変換) Dim Array_Joken() As String = Split(Replace(input, " ", " ")) For Each Joken As String In Array_Joken Fnc_Create_Joken = Fnc_Create_Joken & "[contains(.,'" & Joken & "')]" Next End Function テキストボックスtxtSelにスペース区切りで複数条件を入力しての検索ができました。 ありがとうございました。 |
1