gpt4 book ai didi

c# - 使用C#在xml文档中获取特定值

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:24 24 4
gpt4 key购买 nike

我想在URL的XML文档中获取一个特定值,我设法获取了所有值的列表,但是我不确定如何选择特定值。 XML文档如下:

<evec_api version="2.0" method="marketstat_xml">
<marketstat>
<type id="37">
<buy>
<volume>291092912</volume>
<avg>137.11</avg>
<max>156.06</max>
<min>53.46</min>
<stddev>31.00</stddev>
<median>140.28</median>
<percentile>156.05</percentile>
</buy>
<sell>
<volume>273042044</volume>
<avg>177.43</avg>
<max>339.00</max>
<min>166.22</min>
<stddev>30.83</stddev>
<median>170.38</median>
<percentile>166.26</percentile>
</sell>
<all>
<volume>574134956</volume>
<avg>154.64</avg>
<max>339.00</max>
<min>43.00</min>
<stddev>42.21</stddev>
<median>156.05</median>
<percentile>69.98</percentile>
</all>
</type>
</marketstat>
</evec_api>


我想要的特定值为最低卖出价格,即166.22。目前,我的代码只是检索文档中的所有值是

private void Form1_Load(object sender, EventArgs e)
{
string xmlDocPath = "http://api.eve-central.com/api/marketstat?typeid=37&regionlimit=10000002&usesystem=30000142";
XmlTextReader xmlReader = new XmlTextReader(xmlDocPath);
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Text)
{
textBox1.AppendText(xmlReader.Value + "\n");
}
}
}


我尝试了几种不同的方法,例如将其全部扔到文本框中并采用特定的行,但这似乎是一个非常愚蠢的解决方案。大多数教程使用控制台,但是不适用于我。我觉得这可能是一个简单的解决方案,但是我还没有找到一个可行的解决方案。此外,对此尚不陌生,如果此代码效率低下,请随时指出。

最佳答案

尝试使用LINQ to XML,这非常简单。示例如下:

var doc = XDocument.Parse(xml); //use XDocument.Load if you have path to a file

string minSell = doc.Descendants("sell")
.First()
.Element("min")
.Value;

Console.WriteLine(minSell); //prints 166.22

关于c# - 使用C#在xml文档中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16913928/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com