2009-08-20 15 views
2

私は私がOracle SQLクエリを経由して移入していたデータセットを持っている:DataSet.GetXML()で要素の代わりに属性にデータを格納することは可能ですか?

SELECT col_id, col_desc 
FROM table_data; 

私が生成されるデータセットのXMLを取得するときに、私は、機能今

Dim ds as New DataSet 
OracleDataAdapter.Fill(ds) 

を経由して、データセットを生成します経由して次のように私が読ん

Dim strXML as String 
strXML = ds.GetXML() 

は/文字列を表示、それが表示されます。

私が欲しいもの
<NewDataSet> 
    <Table> 
    <COL_ID>ABC001</COL_ID> 
    <COL_DESC>Angelo</COL_DESC> 
    </Table> 
    <Table> 
    <COL_ID>ZFE851</COL_ID> 
    <COL_DESC>John</COL_DESC> 
    </Table> 
    <Table> 
    <COL_ID>XYU123</COL_ID> 
    <COL_DESC>Mary</COL_DESC> 
    </Table> 
    <Table> 
    <COL_ID>MLP874</COL_ID> 
    <COL_DESC>James</COL_DESC> 
    </Table> 
</NewDataSet> 

は、次のように結果の文字列ではなく表示されるべきであるということです。

<NewDataSet> 
    <Table COL_ID="ABC001" COL_DESC="Angelo"></Table> 
    <Table COL_ID="ZFE851" COL_DESC="John"></Table> 
    <Table COL_ID="XYU123" COL_DESC="Mary"></Table> 
    <Table COL_ID="MLP874" COL_DESC="James"></Table> 
</NewDataSet> 

どのように私はこれを実現することができるだろうか?

データセットのテーブルから行を読み取り、文字列を作成するのは簡単でしょうか?

+0

私はそれを行うには良い方法を発見しました。 XSLTを使用する必要はありません。私の更新された答えを見てください。 –

答えて

1

は、XMLを取得する前にMappingType.Attributeに

設定DataColumn.MappingTypeを更新:


    Dim column As DataColumn 
    For Each column In ds.Tables.Item(0).Columns 
     column.ColumnMapping = MappingType.Attribute 
    Next 
    ds.GetXml() 

+0

いくつかの例を示していただければ幸いです。ありがとう。 – Angelo

+0

私が提供したリンクの例があります。あなたはそれを見ましたか? –

+0

DataColumn.ColumnMappingを使用してサンプルコードを追加する方法を追加しました。 –

関連する問題