DataTableをXMLに変換するための助けが必要です。私はLINQを使用してそれを行っていますが、私は正確に私が持っているように得ることはできません。私はあなたが容易に理解できるように絵を描いた。 XMLは以下のような特定の形式にする必要があるので、dt.writexml()を使うことはできません。アーティストIDは自動番号にする必要があります。曲はアーティストによってグループされています。私がプロジェクト全体で使ってきたLinq cozの解決法を好むが、ここで私が望むものを得ることはできない。列の名前は既知であるため、コード内でこのようなものを使用できます。フィールド(文字列)( "タイトル")DataTableをXMLに変換する際の助けが必要です。VB.NET
ありがとうございます。私は真剣です。英語が苦手な人には申し訳ありません。
CreateDatatable - この単純なコードでは、私が現時点で持っているもののDataTable
Dim dTable As New DataTable
dTable.Columns.Add("Title")
dTable.Columns.Add("Artist")
dTable.Columns.Add("Album")
dTable.Rows.Add("Baby one more time", "Britney Spears", "Baby one more time")
dTable.Rows.Add("Crazy", "Britney Spears", "Best of")
dTable.Rows.Add("Every time", "Britney Spears", "Best of")
dTable.Rows.Add("Black and White", "Michael Jackson", "Best of")
dTable.Rows.Add("You are not alone", "Michael Jackson", "Best of")
dTable.Rows.Add("Smile", "Michael Jackson", "Best of")
を作成する必要があります。それはgrouppingとアルバムのインデックスなしでdatatableをxmlに変換します。
Dim xmlDoc As New XDocument(
From row In dt.Rows
Select XElement("SONG",
From column In dt.Columns
Select
New XAttribute(column.Name, row.Item(column.Name))
)
)
も..私はまた、いくつかのより多くのコードを持っている...それが最初のクエリXMLを作成し、グループ化を行うが、それでも属性として歌要素でアルバム=「ALBUMNAME」を有するます。そして、それはdatatableからxmlへのちょうど1つのクエリーでなければなりません。私はxmlに対してもう一度それを再フォーマットする必要はありません。
Dim replacement = New XDocument(New XElement("root",
original.Descendants("Song")
.GroupBy(Function(x) Convert.ToString(x.Element("artist").value))
.[Select](Function(songsForArtist, index)
New XElement("artist", New XAttribute("id", index + 1),
New XAttribute("name", songsForArtist.Key), songsForArtist))))
に変換することができます願っています。 –
ありがとうございました..投稿を編集しました。ご覧ください。 – lawphotog
私の助けのためのティムさんのコメントを誤解し、私は私の最初の例のように、単純なデータテーブルを作成するために、いくつかのコードを入れおかげ – lawphotog