簡體   English   中英

從XML讀取屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM