方法如下:
public static DataSet ConvertXMLToDataSet(string xmlData) throws Exception
{
StringReader stream = null;
XmlTextReader reader = null;
try
{
DataSet xmlDs = new DataSet();
stream = new StringReader(xmlData);
reader = new XmlTextReader(stream);
xmlDS.ReadXml(reader);
return xmlDs;
}
catch (Exception ex)
{
throw Exception($"{ex.Message}");
}
finally
{
if (reader != null)
reader.Close();
if (stream != null)
stream.Close();
}
}
使用实例:
string str = @"<Response><RList><R>
<Name>zs</Name>
<Age>21</Age>
<Sex>男</Sex>
</R></RList></Response>";
DataSet ds = ConvertXMLToDataSet(str).Tables["R"];
if(ds == null)
{
//说明<RList>里面的<R>是没有一个的
}
else
{
for (int i = 0; i < ds.Rows.Count; i++)
{
//可以依次输出DataTable里面的值
}
}
注意事项:
1.考虑List里面是空的
2.每个节点不允许有空格,如< Age >,这是不允许的
3.节点格式<Name>...</Name>