我的項目需要將輸入XML文件轉換爲DataTable的功能。 我正在使用下面的代碼來做到這一點。刪除XML中的重複元素
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>
正如你可以在上面看到,出現兩次元素方案。當這種XML文件到來時ds.ReadXml(dataSourceFileStream);
無法返回正確的數據表。
任何更好的方法來處理?
嘗試使用的ReadXml(流XmlReadMode.IgnoreSchema – Carra
你想將任何輸入XML文件轉換爲DataTable?如果是這樣,那麼這不是一個好主意,因爲XML包含分層數據 –
@Carra我試過那個,它也行不通 – vijay