XML 文書を作成する
SFXXMLDocument クラスを使って、 XML 文書を作成します。
SFCError error; // エラー値 // XML 文書を作成する SFXXMLDocument document; // XML 文書のバージョンを設定する document.SetVersion("1.0"); // COLLECTION 要素を作成する SFXXMLElementPtr boot = document.CreateElement("COLLECTION"); if (boot == null) { return; } // ルート要素に COLLECTION 要素を追加する error = document.AppendChild(SFXXMLNodePtr(boot)); if (error != SFERR_NO_ERROR) { return; } // COLLECTION 要素に属性を追加する boot->SetAttribute("xmlns:dt", "urn:schemas-microsoft-com:datatypes"); // DATE 要素を作成する SFXXMLElementPtr element = document.CreateElement("DATE"); if (element == null) { return; } // DATE 要素の属性を追加する element->SetAttribute("dt:dt", "datetime"); // DATE 要素のテキスト情報を追加する error = element->AppendChild(SFXXMLNodePtr( document.CreateTextNode("1998-10-13T15:56:00"))); if (error != SFERR_NO_ERROR) { return; } // COLLECTION 要素に DATE 要素を追加する error = boot->AppendChild(SFXXMLNodePtr(element)); if (error != SFERR_NO_ERROR) { return; } // BOOK 要素を作成する SFXXMLElementPtr book = document.CreateElement("BOOK"); if (book == null) { return; } // COLLECTION 要素に BOOK 要素を追加する error = boot->AppendChild(SFXXMLNodePtr(book)); if (error != SFERR_NO_ERROR) { return; } // "<TITLE>Cosmos</TITLE>" を作成する element = document.CreateElement("TITLE"); if (element == null) { return; } error = element->AppendChild(SFXXMLNodePtr(document.CreateTextNode("Cosmos"))); if (error != SFERR_NO_ERROR) { return; } error = book->AppendChild(SFXXMLNodePtr(element)); if (error != SFERR_NO_ERROR) { return; } // "<AUTHOR>Carl Sagan</AUTHOR>" を作成する element = document.CreateElement("AUTHOR"); if (element == null) { return; } error = element->AppendChild(SFXXMLNodePtr(document.CreateTextNode("Carl Sagan"))); if (error != SFERR_NO_ERROR) { return; } error = book->AppendChild(SFXXMLNodePtr(element)); if (error != SFERR_NO_ERROR) { return; } // "<PUBLISHER>Ballantine Books</PUBLISHER>" を作成する element = document.CreateElement("PUBLISHER"); if (element == null) { return; } error = element->AppendChild(SFXXMLNodePtr(document.CreateTextNode("Ballantine Books"))); if (error != SFERR_NO_ERROR) { return; } error = book->AppendChild(SFXXMLNodePtr(element)); if (error != SFERR_NO_ERROR) { return; } // XML 文書を保存する error = document.Save("book.xml"); if (error != SFERR_NO_ERROR) { return; }作成した XML 文書
<?xml version='1.0'?> <COLLECTION xmlns:dt="urn:schemas-microsoft-com:datatypes"> <DATE dt:dt="datetime">1998-10-13T15:56:00</DATE> <BOOK> <TITLE>Cosmos</TITLE> <AUTHOR>Carl Sagan</AUTHOR> <PUBLISHER>Ballantine Books</PUBLISHER> </BOOK> </COLLECTION>