2017-06-07 9 views
0

があれば、このような形でのC#でのXMLファイルを生成する方法:C#で簡単なxmlを生成するには?

<data> 
<tableName fieldname="value" fieldname2="value2" fieldname3="value3" /> 
</data> 

私は

System.Data.DataTable datatable = new System.Data.DataTable("tableName"); 
datatable.Columns.Add("filename", typeof(string)); 
datatable.Columns.Add("time", typeof(string)); 
datatable.Columns.Add("message", typeof(string)); 
. 
. 
datatable.WriteXml("Raports.xml") 

を試してみましたが、私のXMLは次のように体を持っています

から XElementを使用して
<tableName> 
<filename>Raport_1201_1</filename> 
<time>15:21:11.343</time> 
<message>START</message> 
</tableName> 
+0

さて、私は「DataTable」の代わりにXML APIを使い始めるでしょう。 LINQ to XMLを使ってみましたか? 3つの属性を持つ子要素を持つルート要素を作成したい –

答えて

0

答えは、XElementの内側XAttributesを使用する:ヘルプ皆のため

XElement data = new XElement("data"); 
data.Add(new XElement("tableName", 
new XAttribute("fieldname", "value"), 
new XAttribute("fieldname", "value2"), 
new XAttribute("fieldname", "value3") 
) 
); 
data.save("some.xml"); 

感謝を! ^^

0

LINQ to XML APIはおそらく最も簡単な方法です:

XElement data = 
    new XElement("data", 
     new XElement("tableName", 
      new XElement("fieldname", "value"), 
      new XElement("fieldname", "value2"), 
      new XElement("fieldname", "value3") 
     ) 
    ); 

マイクロソフトではLINQ to XMLのチュートリアルを公開しています。具体的にはCreating XML Treesの例があります。

0

新しいXMLを作成するためにXDocumentを使用することができます。

XDocument doc = new XDocument(
    new XElement("data", 
     new XElement("tableName", 
      new XElement("filename", yourfilename), 
      new XElement("time", yourTime), 
      new XElement("message", yourMessage) 
     ) 
    )); 
doc.Save(yourFileName); 
関連する問題