基于两个子节点值从XML文件获取值

时间:2012-07-25 15:36:42

标签: c# xml visual-studio-2008 xpath

我有一个xml文档,需要XPath表达式来根据两个子节点值选择节点值。 XML文件结构是:

<catalog>
<book id="123"> 
<title>Book123</title>
<author>Author123</author>
<genre>Genre123</genre>
</book>
.
.
.
</catalog>

我想根据标题和作者选择书籍。我已经使用了这个表达式,但它显示了一个异常,表示该表达式有一些无效的令牌。我没弄清楚如何解决这个问题。 表达是:

"book[title='" + txtBookTitle.Text + "' AND author='" + txtBookAuthor.Text + "']"

在这方面有谁帮我?

2 个答案:

答案 0 :(得分:2)

您可以使用

//book[title[text()='Book123'] and author[text()='Author123']]

答案 1 :(得分:0)

尝试

//book[title='Book123' and author='Author123']

作为你的XPath。使用.Trim(),例如

,可能值得检查你是否修剪了输入的空格
TextBox1.Text.Trim()