从 XML 中选择属性
本文关键字:属性 选择 XML | 更新日期: 2023-09-27 18:32:00
我在解析XML文档以获取所需数据时遇到了一些麻烦。我有这个 xml 文档:
<root response="True">
<movie title="Spider-Man 2" year="2004" rated="PG-13" runtime="127 min"
genre="Action, Adventure" director="Sam Raimi"
actors="Tobey Maguire, Kirsten Dunst, James Franco, Alfred Molina"
metascore="83" type="movie" />
</root>
我遇到了一些麻烦,因为我想保存这些属性,但我不确定如何保存。我尝试使用 XmlElement
类和 SelectSingeNode
方法,但我似乎无法让它工作。到目前为止,我尝试的是:
root.SelectSingleNode(@"''movie[title]).InnerText;
但我不断收到以下错误:
System.Xml.XPath.XPathException'''''movie[@genre]' has an invalid token.
例如,我希望能够保存电影的标题。我能做些什么不同的事情?
尝试这样做来获取所需属性的值,例如标题:
root.SelectSingleNode("/root/movie/@title").Value
这只是一个例子,我建议你创建一个类,但这应该对你有用:
foreach (XmlElement movie in root.SelectNodes("//movie"))
{
string title = string.Empty;
string year = string.Empty;
//etc
title = movie.Attributes["title"] != null ? movie.Attributes["title"].Value : string.Empty;
//etc
}