2012-04-02 9 views
1

に属性を読み込み、私は次のXMLがあるとします。私は使用してデータセットにこのXMLを読んだときdataSet.ReadXml(xmlPath)は、XMLは、新しいテーブル

<books> 
    <book> 
     <name>book 1</name> 
     <author>aut 1</author> 
     <length unit="cm">297</length> 
    </book> 
</books> 

dataSet.ReadXml(xmlPath) 

をそれが返されます2つのテーブルを持つデータセット:書籍と長さ。テーブル 'books'には、 'name'と 'author'という2つの列が含まれます。もう一方のテーブル 'length'にはすべての長さが含まれます。

私はちょうど1つのテーブル、すべての3つの列 '書籍'が必要です。属性 'unit'は無視する必要があります...どうすればいいですか?

編集:申し訳ありませんが、私はちょうどxmlファイルにテキストを削除することによってそれを解決:

 mainXML = mainXML.Replace(" unit=\"K\"", ""); 
+1

うわー、おそらくあなたは、XML /コードの一部を含んで忘れてしまった、それを信じることができませんか? – sll

+0

データセットは2つのテーブル(および関係)で事前設定されていますか? –

+0

これは、データセットを読み取るためのコードです。 DataSet dsMain = new DataSet(); dsMain.ReadXml(xmlPath); return dsMain; –

答えて

1

xmlファイルを読み込んで属性を削除してもう一度保存しました。きれいではありませんが、それは動作します...

mainXML = mainXML.Replace(" unit=\"K\"", ""); 
1

は、関連するテーブルとフィールドが含まれているデザイナーで入力DataSetを作成します。次に、そのDataSetのインスタンスでReadXmlと呼び出します。これはうまくいくはずですし、データにアクセスするときにはもっと快適になるはずです。

+0

これはうまくいくかもしれませんが、動的なテーブルなのでできません...テーブルのさまざまなフィールドを指定することはできません。 –

関連する問題