0

可能重复:
在 XML 中的一个节点下查找值

示例 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);

问题: 通过'或'两个xpath表达式,它返回true或false,但是如果要在匹配条件(两个xpaths)上选择所有单词节点,那么如何实现?

4

1 回答 1

0

好吧,我通过从 Net 获得一些帮助解决了这个问题。在我使用 '' 运算符的地方,使用 ' | '(管道符号)运算符来组合两个 XPath 表达式的值。它将选择 xml 文件中与 XPath 表达式中的任一条件匹配的所有节点。快乐编程!

于 2012-10-17T12:20:37.130 回答