C# DataSet ReadXML 错误:“表 xxx 已分配为另一个表 yyy 的子表”。无架构

发布于 2024-12-02 04:09:05 字数 727 浏览 2 评论 0原文

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

System.Data.DataException:表“duration”已分配为另一个表“video”的子表。无法将表“asset”设置为父表。

这是它尝试读取的 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 文档吗?

请指教,

简单代码

I'm using ReadXML from DataSet to read a XML document without any schema. There are 2 'duration' tags each in a different parent tag. That is why ReadXML complaining:

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

This is the XML doc it's trying to read:

http://pastebin.com/39VStzcw

(I couldn't paste XML here properly)

This is the C# code that i use:

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

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

Is there any other way I can read this XML doc?

Please enlight,

Simplecode

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

故人的歌 2024-12-09 04:09:05

读取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();
}

There are many ways to read XML, depends on your personal taste. Here are some examples:

I tried reading with DataSet.ReadXml and it creates tables fine without any problem. Only difference is, I was accessing XML from local computer, not through web like you:

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();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文