簡體   English   中英

使用列表框讀取XML文檔

[英]read XML document using listbox

我有一個名為sms.xml的xml文檔,其中的數據存儲如下:

<sms address="+995555777777" time="Mar 12, 2013 5:08:09 PM" date="1363093689732" type="2" body="blah blah blah? :D" read="1" service_center="" name="name surname" />

這是一個短信,我有1000多個短信,所以我想按名稱或地址(無所謂)將它們加載到列表框中,當我單擊其中之一時,我想顯示所選短信的正文。 這是我的代碼:

XmlDocument xmlDoc = new XmlDocument();

    public void loadXML()
    {
        xmlDoc.Load("sms.xml");

        XmlNodeList smss = xmlDoc.SelectNodes("//sms");

        foreach (XmlNode sms in smss)
        {
            listBox1.Items.Add(sms.Attributes["address"].Value);
        }

    }

    private void button1_Click(object sender, EventArgs e)
    {
        loadXML();
    }

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        XmlNode node = xmlDoc.SelectSingleNode(string.Format("sms[@name='{0}']", listBox1.SelectedItem));

        txtName.Text = node.Attributes["body"].Value;

    }

並返回錯誤:“對象引用未設置為對象的實例。” 在txtName.text行上。 你能幫我嗎?

ps對不起,我的英語。

可能是語法問題,請嘗試以下操作:

private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    XmlNode node = xmlDoc.SelectSingleNode(string.Format("//sms[@name='{0}']", listBox1.SelectedItem));
    txtName.Text = node.Attributes["body"].Value;
}

注意前導//

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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