将嵌套的XML加载到数据集中如何将下面的嵌套XML加载到DataSet中?i1item1subitem1subitem2i2item2subitem1subitem2我可以得到“item”形式,但是如何得到子项?MemoryStreamitemsStream=newMemoryStream(Encoding.ASCII.GetBytes(itemsXML));DataSetitemsSet=newDataSet();itemsSet.ReadXml(itemsStream);foreach(DataRowitemRowinitemsSet.Tables["item"].Rows){控制台。WriteLine("columnid="+itemRow["id"]asstring+"name="+itemRow["name"]asstring);这对我有用,我唯一的自由是更改子项名称的字段。子项subitem1subitem2的原始XML子项subitem1subitem2的修改后的XML这是代码。数据集myDS=newDataSet();DataTablemyTable=newDataTable("项目");myTable.Columns.Add("id",typeof(string));myTable.Columns.Add("名称",typeof(string));myTable.Columns.Add("name1",typeof(string));myTable.Columns.Add("name2",typeof(string));myDS.Tables.Add(myTable);stringxmlData="i1item1subitem1subitem2i2item2subitem3subitem4";System.IO.MemoryStreamitemsStream=newSystem.IO.MemoryStream(Encoding.ASCII.GetBytes(xmlData));myDS.ReadXml(itemsStream,XmlReadMode.IgnoreSchema);foreach(DataRowitemRowinmyDS.Tables["item"].Rows){MessageBox.Show("columnid="+itemRow["id"]+"name="+itemRow["name"]);MessageBox.Show(itemRow["name1"].ToString()+"-"+itemRow["name2"].ToString());}使用数据集ReadXml。您必须关注以下链接中的文章:http://msdn.microsoft.com/en-us/library/7sfkwf9s(v=VS.100).aspx示例:DataSetds=newDataSet();ds.ReadXml(新的StringReader(nestedXml));StringBuildersb=newStringBuilder();ds.WriteXml(新的StringWriter(sb));Response.Write(sb.ToString());当然,你可以使用ds.Tables[0]和ds。Tables[1]单独读取表格。以上就是C#学习教程:将嵌套XML加载到数据集中分享全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注—Stringsss=@"i1item1subitem1subitem2i2item2subitem1subitem2";StringReaderrr=newStringReader(sss);数据集sdread=newDataSet();sdread.ReadXml(rr);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
