如何从此 .xml 文件中分配值
<?xml version="1.0" encoding="utf-8"?>
<root>
<Classic>
<value1>6</value1>
<value2>18.7</value2>
<value3>1</value3>
</Classic>
</root>
到 C# 代码中的变量(整数、双精度)?例如:
int x = value1;
double y = value2;
int z = value3;
提前感谢您的答案,我已经找了很长时间了。
您可以使用XmlDocument
加载和查询节点。如果您知道确切的节点和类型,这很有效。
有很多关于 C# 中 XML 解析的精彩文章(https://docs.microsoft.com/en-us/dotnet/standard/data/xml/),这里有一些很好的答案:C# Parsing XML File
对于您的情况,可以像这样简化解析:
void Run()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<Classic>
<value1>6</value1>
<value2>18.7</value2>
<value3>1</value3>
</Classic>
</root>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var classicNode = doc.SelectSingleNode("/root/Classic");
int x = int.Parse(classicNode.SelectSingleNode("value1").InnerText);
double y = double.Parse(classicNode.SelectSingleNode("value2").InnerText);
int z = int.Parse(classicNode.SelectSingleNode("value3").InnerText);
Console.WriteLine($"{x}, {y}, {z}");
}
另一种方法是使用带有XPathSelectElement
扩展名的XDocument
void Run2()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<root>
<Classic>
<value1>6</value1>
<value2>18.7</value2>
<value3>1</value3>
</Classic>
</root>";
var doc = XDocument.Parse(xml);
int x = int.Parse(doc.XPathSelectElement("root/Classic/value1").Value);
double y = double.Parse(doc.XPathSelectElement("root/Classic/value2").Value);
int z = int.Parse(doc.XPathSelectElement("root/Classic/value3").Value);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句