0

我正在使用 DataSet 中的 ReadXML 来读取没有任何架构的 XML 文档。在不同的父标签中有 2 个“持续时间”标签。这就是 ReadXML 抱怨的原因:

System.Data.DataException:表“持续时间”已分配为另一个表“视频”的子表。无法将表“资产”设置为父表。

这是它试图阅读的 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;

有没有其他方法可以阅读这个 XML 文档?

请赐教,

简单代码

4

1 回答 1

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();
}
于 2011-09-07T12:28:49.423 回答