0

重複の可能性:
XML の 1 つのノードの下にある値を検索する

サンプル XML ファイル:

<Book>
<Page id="1">
<Head>Preface</Head>
<Body>
<Paragraph>
    <Line>
        <Word>
            <Char>T</Char>
            <Char>h</Char>
            <Char>i</Char>
            <Char>s</Char>
        </Word>
        <Word>is sample xml file.</Word>
    </Line>
</Paragraph>
</Body>
</Page>

注:ここでは、検索するサンプル テキストは「I」です。ノードを持たないセレクション ワードの場合、xPath 式は次のようになります。

string Word_Char_XPath="//CHAR[contains(translate(text(),'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ'),'I')]/..";

ノードのみを持つ単語の選択の場合、xPath 式は次のとおりです。

string Word_XPath="//WORD[contains(translate(text(), abcdefghijklmnopqrstuvwxyz, ABCDEFGHIJKLMNOPQRSTUVWXYZ), 'I')]";

「i」を含む単語を選択するためのコード

XmlDocument objXmlDoc = new XmlDocument();
XmlNodeList objXmlNodeList;
objXmlDoc.Load(sFilePath);
objXmlNodeList = objXmlDoc.SelectNodes(Word_Char_XPath+" or "+ Word_XPath);

問題: 「または」2 つの xpath 式によって true または false が返されますが、すべての単語ノードが一致基準 (両方の xpath) で選択される場合、どのように達成できますか?

4

1 に答える 1

0

さて、私はネットからいくつかの助けを得ることによってそれを解決しました。'または'演算子を使用している場合は、' |を使用します。'(パイプ記号)演算子を使用して、2つのXPath式の値を結合します。XPath式のいずれかの条件に一致するxmlファイル内のすべてのノードを選択します。ハッピープログラミング!

于 2012-10-17T12:20:37.130 に答える