0

DataSetのReadXMLを使用して、スキーマなしでXMLドキュメントを読み取ります。それぞれ異なる親タグに2つの「duration」タグがあります。そのため、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ドキュメントを読む他の方法はありますか?

啓発してください、

Simplecode

4

1 に答える 1

0

XMLを読む方法はたくさんありますが、個人の好みによって異なります。ここではいくつかの例を示します。

DataSet.ReadXmlで読み取ってみましたが、問題なくテーブルが作成されます。唯一の違いは、私はあなたのようなWeb経由ではなく、ローカルコンピューターから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 に答える