我在 C# 中遇到了 XMLReader 的问题。
我得到了这个代码:
private void countryXMLReader ()
{
XmlTextReader reader = new XmlTextReader("expenses.xml");
List<string> twentyFour = new List<string>();
while (reader.Read())
{
if (reader.Name.Equals("_24h"))
{
twentyFour.Add(reader.Value);
}
if (reader.Name == "_14h")
{
//MessageBox.Show(reader.Name);
}
}
}
这是我的 XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<expenses>
<country>
<name>Germany</name>
<ID>D</ID>
<_24h>42</_24h>
<_14h>28</_14h>
<_8h>14</_8h>
<overnight>100</overnight>
</country>
<country>
<name>India</name>
<ID>IND</ID>
<_24h>30</_24h>
<_14h>20</_14h>
<_8h>10</_8h>
<overnight>120</overnight>
</country>
</expenses>
ListItems 已添加到列表中,但 reader.Value 始终为空。
我怎样才能让它工作?
非常感谢
托比
编辑:
现在我得到了以下代码:
私人无效国家XMLReader(){列表二十四=新列表();
XDocument doc = XDocument.Load(@"C:\Users\Bl!tz\Documents\Visual Studio 2010\Projects\MBG.SimpleWizard\Demo\bin\Debug\expenses.xml");
twentyFour.AddRange(doc
.Elements("expenses")
.Descendants("country")
.Descendants("_24h")
.Select(i => i.Value)
.ToList());
}
但它并没有真正得到价值。
我的问题是什么?
编辑2:
这是我使用的代码:
private void countryXMLReader ()
{
List<string> twentyFour = new List<string>();
XDocument doc = XDocument.Load(@"expenses.xml");
twentyFour.AddRange(doc
.Elements("expenses")
.Descendants("country")
.Descendants("name")
.Descendants("ID")
.Descendants("_24h")
.Descendants("_14h")
.Descendants("_8h")
.Descendants("overnight")
.Select(i => i.Value)
.ToList());
}
但 List.Count 保持在 0。我这样称呼这个方法:
public Page1()
{
InitializeComponent();
countryXMLReader();
}
我还用一个按钮对其进行了测试,但结果相同