当前位置:编程学习 > C#/ASP.NET >>

xml读取求救啊!

code=XML][/code]
<q>
<info>
<name>1</name>
<address>2</address>
<other>3</other>
</info>
<info>
<name>5</name>
<address>6</address>
<other>7</other>
</info>
</q>

数据格式如上

name被加载到listbox中,如果触发一个选中事件,怎么让我选择的这个name的其他元素被读到对应的textbox中。那位大侠调试好后给代码  非常感谢。我试过很多方法。   或改变我上面的数据格式  
--------------------编程问答-------------------- 刚好在看XML编程,可惜我只看到怎么使用XMLReader,所以只能用这个写了,似乎不是怎么好的办法,虽然能取得值


private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    XmlReader reader = XmlReader.Create(@"G:\new.xml");
    string name = null;
    while (reader.Read())
    {
//如果节点的名字是name,而且和下拉框中的值一样,就取后面节点的值,因为XMLReader是按顺序,一个个读下去的,所以这样写,应该没什么问题。。。
if (reader.NodeType == XmlNodeType.Element && reader.Name == "name")
{
    name = reader.ReadString().Trim();//我把空格去掉了。。。
    if (name != this.comboBox1.SelectedItem.ToString())
    {
name = null;
continue;
    }
    this.textBox1.Text = "";
}
if (reader.NodeType == XmlNodeType.Element && name != null)
{
    if (reader.Name == "address")
    {
this.textBox1.Text = this.textBox1.Text + "address:" + reader.ReadString() + "\r\n";
    }
    else if (reader.Name == "other")
    {
this.textBox1.Text = this.textBox1.Text + "other:" + reader.ReadString() + "\r\n";
break;
    }
}
    }
}
--------------------编程问答-------------------- 就是遍历读取呀,可以做出上一页,下一页
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,