将数据集字段放在文本框中

时间:2009-11-30 19:04:06

标签: c# xml datagrid dataset asp.net

我已经成功地将xml文件加载到数据集中(我可以在数据网格中显示它),我想将它加载到几个文本框中(大约10或12)。

xml有大约60个字段,我不熟悉获取他们的名字(虽然我知道我想要哪些)。

这就是我所拥有的:

Dim ds As New DataSet
ds.ReadXml(<PATH>)

xml的一部分的一瞥:

<ide>   
 <cUF>35</cUF>   
 <cNF>623670848</cNF>
</ide>
<emit>
 <CNPJ>06949571000153</CNPJ> 
 <xFant>TSA</xFant> 

我想要(例子)
来自IDE的cUF 来自tsa的cFant

我有txt1和txt2作为文本框,我该怎么做才能得到那些?

2 个答案:

答案 0 :(得分:1)

查看System.XML命名空间,然后在SelectSingleNode()函数中使用正确的XPath表达式执行类似的操作:

private XmlDocument _doc = new XmlDocument();
_doc.Load(HttpContext.Current.Request.MapPath("~/yourdocpath.xml"));
XmlNode n = _doc.SelectSingleNode("ide/cuf");

然后设置文本框:

txt1.Text = n.InnerText;

答案 1 :(得分:1)

如果您拥有数据集中的数据,则可以通过几种方式获取信息。有一种方法可以直接从XML中读取它,并且有表格/行/列方法可以将其从数据集中删除。

如果您在设计时知道列名称:

理论值:

txt1.Text = DS.Tables[<tablename>].Rows[<rowID>].ItemArray[<ColumnIndex>].ToString();

实践:

txt1.Text = DS.Tables["ide"].Rows[0].ItemArray[0].ToString();

如果您在设计时不知道列名:

理论值:

txt1.Text = DS.Tables(<tableID>).Rows(<rowID>).Item(<ColumnID>)

实践:

txt1.Text = DS.Tables[0].Rows[0].ItemArray[0].ToString();

小心使用索引号码虽然...有时他们会让你陷入困境。