我的Xml看起来像这样:
<data type="widgets">
<record>
<id>1</id>
</record>
<record>
<id>2</id>
</record>
</data>在上面的Xml中,"type“属性是最近添加的。在添加它之前,我可以使用DataSet.ReadXml将完整的Xml读取到一个表中,然后从DataSet.Tables中解析出所需的元素。添加属性后,DataSet.ReadXml不返回表。如何使用该属性执行与不使用该属性时相同的功能?我对将type属性读入我的表不感兴趣。
发布于 2011-12-16 06:13:22
下面是一个使用XPath的示例。
XmlDocument doc = new XmlDocument();
doc.Load("C:\\blah.xml");
XmlNodeList nodes = doc.SelectNodes("//data//record//id");
foreach (XmlNode node in nodes) {
//do something meaningful
Console.WriteLine(node.InnerText);
}发布于 2017-09-18 18:24:03
解决这个问题的另一种方法是提前准备datatable;
string myXml = @"<data type=""widgets"">
<record>
<id>1</id>
</record>
<record>
<id>2</id>
</record>
</data>";
DataSet ds = new DataSet();
DataTable dt = new DataTable("record");
dt.Columns.Add("id", typeof(int));
ds.Tables.Add(dt);
ds.ReadXml(new StringReader(myXml));https://stackoverflow.com/questions/8526931
复制相似问题