我在C#中遇到了XMLReader問題。將XMLData保存爲使用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總是空空的。
我該如何得到這個工作?
千恩萬謝
託比
編輯:
現在我得到了下面的代碼:
私人無效countryXMLReader(){ 名單 =二十四新名單();
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());
}
但它並沒有真正的價值。
什麼是我的問題?
EDIT2:
這是我的代碼使用方法:
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();
}
我也用一個按鈕測試它,但結果相同
嘗試的路徑設置爲@ 「expenses.xml」。並在Visual Studio中將文件expense.xml的「複製到輸出目錄」屬性設置爲「始終複製」(我假定您已將費用添加到項目中)。 –
我已經設置了屬性並更改了路徑,但列表仍爲空 – user1414157
它正在處理您提供的示例XML代碼,請確保文件中的XML與發佈的XML文件具有相同的結構。你可以把XML文件放在網頁上(如果它不包含任何敏感數據)? –