2016-03-03 95 views
0

我想要在C#和VB.NET中使用XML的窍门。我将一些XML硬编码为XmlDocument变量,然后对子节点进行计数,然后将XML变量绑定到一个gridview。应该有两个子节点,gridview应该有两行,三列(标题,说明,日期)。LoadXml没有正确加载文本

XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml("<tasks><Task><Title>a</Title><Description>b</Description><Date>c</Date></Task><Task><Title>d</Title><Description>e</Description><Date>f</Date></Task></tasks>"); 
litTest.Text = xmlDoc.ChildNodes.Count.ToString(); 
gvData.DataSource = xmlDoc; 
gvData.DataBind(); 

相反,我得到的名字,的localName,namespaceURL,InnerXML,innerText属性等一行,我不知道我做错了。

回答

1

您可以加载XML到一个数据集,然后绑定该数据集到GridView,可能是最简单的选择

DataSet ds = new DataSet(); 
String MyXml = "<tasks><Task><Title>a</Title><Description>b</Description><Date>c</Date></Task><Task><Title>d</Title><Description>e</Description><Date>f</Date></Task></tasks>"; 
StringReader sr = new StringReader(MyXml); 
ds.ReadXml(sr); 
gvData.DataSource = ds; 
gvData.DataBind(); 
+0

这工作!谢谢!但我没有理解它为什么起作用,我的代码没有工作。由于您在示例中使用了XML,所以XML是正确的。我不应该能够使用loadxml来实际加载XML字符串吗? – Alverant

+0

@Alverant不同之处在于他将xml字符串加载到用作gridview数据源的数据集中。 – terbubbs