[LINQ to Xml] 属性を設定する

スポンサーリンク

要素を作成する際に属性を設定するには XAttributeクラスを使用します。

今回作成するプログラムから作成されるXMLは以下の通りです。

部署にid属性を設定しています。

<?xml version="1.0" encoding="utf-8"?>
<!--部署データ-->
<部署データ>
  <部署 id="0001">
    <部署名>企画部</部署名>
    <部長名>佐藤</部長名>
  </部署>
  <部署 id="0002">
    <部署名>開発部</部署名>
    <部長名>高橋</部長名>
  </部署>
  <部署 id="0003">
    <部署名>営業部</部署名>
    <部長名>伊藤</部長名>
  </部署>
</部署データ>

コード例は以下の通りです。

XAttributeの第1引数には属性名を、第2引数に属性値を指定します。

VBの例

Dim XDoc = New XDocument(New XDeclaration("1.0", "utf-8", True),
        New XComment("以下部署データ"),
        New XElement("部署データ",
          New XElement("部署",
               New XAttribute("id", "0001"),
               New XElement("部署名", "企画部"),
               New XElement("部長名", "佐藤")
          ),
          New XElement("部署",
               New XAttribute("id", "0002"),
               New XElement("部署名", "開発部"),
               New XElement("部長名", "高橋")
          ),
          New XElement("部署",
               New XAttribute("id", "0003"),
               New XElement("部署名", "営業部"),
               New XElement("部長名", "伊藤")
               )
          )
    )

XDoc.Save("C:\Work\MyCompany.xml")

c#の例

var XDoc = new XDocument(new XDeclaration("1.0", "utf-8", "true"),
    new XComment("部署データ"),
    new XElement("部署データ",
      new XElement("部署",
           new XAttribute("id", "0001"),
           new XElement("部署名", "企画部"),
           new XElement("部長名", "佐藤")
      ),
      new XElement("部署",
           new XAttribute("id", "0002"),
           new XElement("部署名", "開発部"),
           new XElement("部長名", "高橋")
      ),
      new XElement("部署",
           new XAttribute("id", "0003"),
           new XElement("部署名", "営業部"),
           new XElement("部長名", "伊藤")
           )
      )
);

XDoc.Save(@"C:\Work\MyCompany.xml");
Please follow and like us:

コメント

タイトルとURLをコピーしました