0

我想在下面的代码片段中检索 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>

谁能看到我做错了什么?

4

1 回答 1

1

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

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

这是 XPath 良好的“证明”,使用RubyNokogiri,它构建在 libxml2 之上:

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"/>
于 2013-03-30T04:17:12.030 回答