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#