如何构建简单的XPath查询

时间:2013-03-29 20:51:02

标签: xml xpath

我想在下面的代码片段中检索connectionString值。我已经尝试了几个XPath但总是得到错误或找不到对象。我一直在使用这些网站:

http://www.xpathtester.com/test
http://www.xmlme.com/XpathTool.aspx

这是我尝试过的XPath:

/connectionStrings/add/@connectionString
/connectionStrings/add[@connectionString]

以下是代码:

<connectionStrings>
  <add name="mydb" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

谁能看到我做错了什么?

1 个答案:

答案 0 :(得分:1)

您的两个XPath查询都有效。第一个选择属性,第二个选择具有<add>属性的connectionString元素。

你得到了什么错误,以及在什么情况下?

这是使用RubyNokogiri建立在libxml2之上的“证明”:XPath没问题:

require 'nokogiri'
doc = Nokogiri.XML '<connectionStrings>
  <add name="mydb" connectionString="foo" providerName="bar" />
</connectionStrings>'

puts doc.at_xpath('/connectionStrings/add/@connectionString')
#=> foo

puts doc.at_xpath('/connectionStrings/add[@connectionString]')
#=> <add name="mydb" connectionString="foo" providerName="bar"/>