XML書き出し。タグに属性(?)を追加するには?

解決


のん  2013-03-09 19:40:45  No: 44008

こんにちは。
Delphi2010、WindowsXp環境です。

下記のようなXMLを生成したいのですが、
「cat="色"」の部分、どうすれば良いのでしょうか?

<?xml version="1.0" encoding="utf-8"?>
<main>
  <entry>
    <name>ブルー</name>
    <code>
      <data cat="色">寒色</data>
    </code>
  </entry>
</main>

・・・・・・・・・・・・・・・・・・・・
現状、下記のコードで下記のXMLができるところまではわかりましたが、
「cat="色"」の部分をどうすれば挿入できるのか分かりません。
よろしくお願いいたします。

//uses XMLIntf, XMLDoc;
procedure TForm1.Button1Click(Sender: TObject);
var
  XML_Doc   : TXMLDocument;
  XML_ENTRY : IXMLNode;
  XML_NAME  : IXMLNode;
  XML_MAIN  : IXMLNode;
  XML_DATA  : IXMLNode;
begin
  XML_Doc := TXMLDocument.Create(nil);
  XML_Doc.Options := [doNodeAutoIndent];
  XML_Doc.Active  := True;
  XML_Doc.Encoding := 'utf-8';
  XML_Doc.Version  := '1.0';

  XML_Doc.AddChild('main');
  XML_ENTRY   := XML_Doc.DocumentElement.AddChild('entry');
  XML_NAME    := XML_ENTRY.AddChild('name');
  XML_NAME.NodeValue := 'ブルー';
  XML_MAIN := XML_ENTRY.AddChild('code');
  XML_DATA    := XML_MAIN.AddChild('data');
  XML_DATA.NodeValue := '寒色';
  XML_Doc.SaveToFile( 'test.xml' );
end;

<?xml version="1.0" encoding="utf-8"?>
<main>
  <entry>
    <name>ブルー</name>
    <code>
      <data>寒色</data>
    </code>
  </entry>
</main>


DEKO  2013-03-11 03:33:00  No: 44009

以下のようなコードを記述します。

  XML_DATA.Attributes['cat'] := '色';

[XMLの構文と整形式XML文書]
http://ja.wikipedia.org/wiki/Extensible_Markup_Language#XML.E3.81.AE.E6.A7.8B.E6.96.87.E3.81.A8.E6.95.B4.E5.BD.A2.E5.BC.8FXML.E6.96.87.E6.9B.B8

<要素名 属性="値">内容</要素名>

...ですので、"属性 = Attribute" です。


のん  2013-03-12 00:33:17  No: 44010

>>DEKOさん
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加