我的Xml看起来像这样:
<data type="widgets">
<record>
<id>1</id>
</record>
<record>
<id>2</id>
</record>
</data>
在上面的Xml中,最近添加了“type”属性。在我添加它之前,我可以使用DataSet.ReadXml将完整的Xml读入表中,然后从DataSet.Tables [0]中解析出我需要的元素。添加属性后,DataSet.ReadXml不返回任何表。如何在不使用属性的情况下使用属性执行相同的功能?我对将type属性读入表格不感兴趣。
答案 0 :(得分:0)
以下是使用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);
}
答案 1 :(得分:0)
解决此问题的另一种方法是提前准备数据表;
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));