我搜索了一些,但没有找到任何我认为合适的答案,我正在使用XDocument加载我的xml,但我在将其转换为数组时遇到了一些困难
<?xml version="1.0" encoding="UTF-8"?>
<document>
<sNone>
<October>3.21</October>
<November>-5.41</November>
<December>-15.81</December>
<January>-21.69</January>
<February>-21.70</February>
<March>-12.60</March>
<April>-6.41</April>
<May>-0.06</May>
<June>5.42</June>
<July>13.32</July>
<August>14.12</August>
<September>7.55</September>
</sNone>
<sLichen>
<October>1.99</October>
...
</sLichen>
</document>
我正在像一样加载我的XML
XDocument doc = XDocument.Parse();
但我对如何返回1D数组感到困惑,因为我有多个子代。
编辑
我的目标是得到一个像这样的阵列
{3.21、-5.41、-15.81、-21.69、-21.70、-12.60、-6.41、-0.06、5.42、13.32、14.12、7.55}
这应该可以做到:
var doc = "<?xml version="1.0" encoding="UTF-8"?....";
XDocument xdoc = XDocument.Parse(doc);
var items = xdoc.Root.Elements("sNone").Descendants().Select(d => d.Value).ToArray();
Console.WriteLine(items);
或者如果你想要小数:
var items2 = xdoc.Root.Elements("sNone").Descendants().Select(d => decimal.Parse(d.Value)).ToArray();
希望这能有所帮助。