C#:如何解析给定的 XML 并获取属性值?
C#: How to parse a given XML and get attribute values?
我有一个 XML 文件,如下所示:
<Create>
<Test Id="01" Marks="40" Rank="4"/>
<Test Id="02" Marks="60" Rank="5"/>
<Test Id="03" Marks="80" Rank="2"/>
</Create>
现在我想读取Id
、Marks
和Rank
的属性值。
那么获取这些属性值的相应 C# 代码是什么样的呢?
您可以结合使用 XmlDocument 和 XPath。
在第 1 行,字符串被转换为转义引号。然后实例化 XMLDocument class 并使用方法 LoadXml 加载字符串。这可以更改为加载文件,而不是使用 xml.Load([文件路径]).
加载文档后,可以使用 "Create/Test" xpath 选择测试元素。最后我们循环遍历每个节点并输出所需的数据。
我已经在 c# 控制台应用程序中完成了此操作并省略了样板文件。
var xmlString = "<Create><Test Id=\"01\" Marks=\"40\" Rank=\"4\"/><Test Id=\"02\" Marks=\"60\" Rank=\"5\"/><Test Id=\"03\" Marks=\"80\" Rank=\"2\"/></Create>";
var xml = new XmlDocument();
xml.LoadXml(xmlString);
var nodes = xml.SelectNodes("Create/Test");
foreach (XmlNode node in nodes)
{
Console.WriteLine(string.Format("Id: {0}; Marks: {1}; Rank: {2}", node.Attributes["Id"].Value, node.Attributes["Marks"].Value, node.Attributes["Rank"].Value));
}
W3C 学校有一个 XPath 教程,可以在这里找到:https://www.w3schools.com/xml/xpath_intro.asp
XMLDocument class 文档可在此处找到:https://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v=vs.110).aspx
我有一个 XML 文件,如下所示:
<Create>
<Test Id="01" Marks="40" Rank="4"/>
<Test Id="02" Marks="60" Rank="5"/>
<Test Id="03" Marks="80" Rank="2"/>
</Create>
现在我想读取Id
、Marks
和Rank
的属性值。
那么获取这些属性值的相应 C# 代码是什么样的呢?
您可以结合使用 XmlDocument 和 XPath。
在第 1 行,字符串被转换为转义引号。然后实例化 XMLDocument class 并使用方法 LoadXml 加载字符串。这可以更改为加载文件,而不是使用 xml.Load([文件路径]).
加载文档后,可以使用 "Create/Test" xpath 选择测试元素。最后我们循环遍历每个节点并输出所需的数据。 我已经在 c# 控制台应用程序中完成了此操作并省略了样板文件。
var xmlString = "<Create><Test Id=\"01\" Marks=\"40\" Rank=\"4\"/><Test Id=\"02\" Marks=\"60\" Rank=\"5\"/><Test Id=\"03\" Marks=\"80\" Rank=\"2\"/></Create>";
var xml = new XmlDocument();
xml.LoadXml(xmlString);
var nodes = xml.SelectNodes("Create/Test");
foreach (XmlNode node in nodes)
{
Console.WriteLine(string.Format("Id: {0}; Marks: {1}; Rank: {2}", node.Attributes["Id"].Value, node.Attributes["Marks"].Value, node.Attributes["Rank"].Value));
}
W3C 学校有一个 XPath 教程,可以在这里找到:https://www.w3schools.com/xml/xpath_intro.asp
XMLDocument class 文档可在此处找到:https://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v=vs.110).aspx