1

次のようなデータテーブルがあります

type                cname   ctable      text          allowgroupping
StringFilter         AAA     Table1      Good,Bad      Yes
StringFilter         BBB     Table2      Ugly          No
StringFilter         CCC     Table3      Lucky         Yes

そのテーブルから、次の XML を生成したい

<Filters Date ="25.07.2012 22:50">
<StringFilter cname="AAA" ctable="Table1" allowgroupping="Yes">Good,Bad</StringFilter>
<StringFilter cname="BBB" ctable="Table2" allowgroupping="No">Ugly</StringFilter >
<StringFilter cname="CCC" ctable="Table3" allowgroupping="Yes">Lucky</StringFilter >
</Filters>
  • タイプ列はタグを表します
  • cname と ctable と allowgroupping は属性です
  • 列のテキストは内部テキストを表します

linq と xDocument を使用してこれを達成するのを手伝ってもらえますか?

4

2 に答える 2

2

への参照を追加System.Data.DataSetExtensions

using System.Data.DataSetExtensions;

var XDocument doc = new XDocument();
var root =  new XElement("Filters");

var items = dt.Rows.AsIEnumberable().Select(row=> new XElement("StringFilter",             new XAttribute("cname",(string) row["cname"]),
    /*additional attributes here*/
     (string) row["text"]  ));

root.Add(items);
doc.Add(root);
于 2013-07-25T21:03:49.410 に答える