我的项目需要将输入 XML 文件转换为 DataTable 的功能。我正在使用以下代码来做到这一点。
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
dataSourceFileStream.Seek(0, SeekOrigin.Begin);
ds.ReadXml(dataSourceFileStream);
dt = ds.Tables[0];
除非输入的 XML 有重复的元素,否则这很有效,例如,如果 XML 文件如下所示:
<?xml version="1.0" encoding="iso-8859-1"?>
<DocumentElement>
<data>
<DATE>27 September 2013</DATE>
<SCHEME>Test Scheme Name</SCHEME>
<NAME>Mr John</NAME>
<SCHEME>Test Scheme Name</SCHEME>
<TYPE>1</TYPE>
</data>
</DocumentElement>
正如您在上面看到的,元素SCHEME出现了两次。当这种 XML 文件来时ds.ReadXml(dataSourceFileStream);
无法返回正确的数据表。
有更好的方法来处理这个吗?