在C#中获取XmlDocument的node属性

时间:2013-12-09 12:10:59

标签: c# xml xpath

我正在使用这个xml结构:

<park>
  <car title="Ferrari" available="true">
    <url>http://www.ferrari.com/</url>
  </rss>
</park>

这是我在C#中的代码:

XmlDocument doc = new XmlDocument();
            doc.Load("Settings.xml");
            XmlNodeList list = doc.SelectNodes("/park/car");

            foreach (XmlNode item in list)
            {
                   string x = item["@title"].InnerText;
            }

我只想获得“头衔”属性,但我无法让它发挥作用。我正在使用“@”但没有成功。

2 个答案:

答案 0 :(得分:1)

试试这段代码:

string x = item.Attributes["title"].Value;

答案 1 :(得分:0)

我建议您使用LINQ to XML来解析xml:

var xdoc = XDocument.Load("Settings.xml");
var titles = xdoc.XPathSelectElements("//park/car")
                 .Select(c => (string)c.Attribute("title"));

或没有XPath:

var titles = xdoc.Descendants("park")
                 .Elements("car")
                 .Select(c => (string)c.Attribute("title"));