2011-08-30 42 views
0

我使用DataSet中的ReadXML讀取沒有任何模式的XML文檔。每個不同的父標籤中有2個'duration'標籤。這就是爲什麼ReadXML的抱怨:C#DataSet ReadXML錯誤:「表xxx已被分配爲另一個表yyy的子項」。沒有模式

System.Data.DataException: The table 'duration' is already allocated as a child of another table 'video'. Cannot set table 'asset' as parent table.

這是它試圖讀取XML文檔:

http://pastebin.com/39VStzcw

(這裏不正確粘貼XML)

這是C#我使用的代碼:

  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 

     using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
     { 
      resultDs.ReadXml(response.GetResponseStream()); 
     } 
     return resultDs; 

是否有任何其他方式可以使用d這個XML文檔?

請微啓,

Simplecode

回答

0

有很多方法來讀取XML,取決於你的個人品味。下面是一些例子:

我試着用DataSet.ReadXml閱讀並創建精細,沒有任何問題表。唯一不同的是,我是從本地計算機訪問XML,而不是像您一樣通過網絡訪問:

const string xmlPath = @"XmlFile.xml"; 
var ds = new DataSet(); 
var fs = new FileStream(xmlPath, FileMode.Open); 

try 
{ 
    ds.ReadXml(fs); 
    foreach (DataTable table in ds.Tables) 
    { 
     Console.WriteLine("Table name: " + table.TableName); 
    } 
    Console.WriteLine("Test"); 
} 
catch (Exception e) 
{ 
    Console.WriteLine(e.Message); 
} 
finally 
{ 
    fs.Close(); 
} 
相關問題