[英]Reading Attributes from XML
我想做的是從xml文件中讀取一些數據,並在用戶單擊列表框中的項目時將數據分配給標簽。 這是我嘗試過的代碼,可以編譯,但標簽沒有任何反應。
private void lbAllModules_SelectedIndexChanged(object sender, EventArgs e)
{
XmlTextReader inforeader = new XmlTextReader(workingDir + @"\modules.xml");
while (inforeader.Read())
{
if ((inforeader.NodeType == XmlNodeType.Element) && (inforeader.Name == "modulecode"))
{
if (inforeader.HasAttributes)
{
lblCodeOut.Text = inforeader.GetAttribute(0);
}
}
}
}
如果要使用LINQ to XML:
XDocument loaded = XDocument.Load(@"C:\modules.xml");
// Query the data for first attribute of element 'modecode'
var q = from c in loaded.Descendants("modulecode")
where c.HasAttributes
select (string)c.Attributes().FirstOrDefault();
foreach (var item in q)
{
Console.WriteLine(item);
}
確保您的節點被精確地稱為“模塊代碼”。 比較是區分大小寫的。 您可以使用
string.Compare(inforeader.Name,"modulecode", StringComparison.OrdinalIgnoreCase) == 0;
用於不區分大小寫的比較。 然后嘗試
if(inforeader.MoveToFirstAttribute())
lblCodeOut.Text = inforeader.Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.