指定のXMLオブジェクトの内容をUTF-8のXMLドキュメントに変換してメモリに出力します。

構文

char *XML_SaveAsXmlMemory(
  XML_HANDLE hXml,
  const char *prolog,
  bool format,
  size_t *output_length,
  int *ErrCode
);

パラメータ

hXml
[in] XMLハンドル
prolog
[in] XMドキュメントの"prolog"のUTF-8文字列を指すポインタ。"prolog"が不要の場合はNULLを指定します。

format
[in] 改行とTABによるインデントでXMLドキュメントを整形する場合はtrueを、それ以外はfalseを指定します。
output_length
[out] 変換結果の終端のNULを除いたバイト数を返す変数を指すポインタ。バイト数が不要のときはNULLを指定します。
ErrCode
[out] エラーコードを返す変数を指すポインタ。エラーコードが不要のときはNULLを指定します。

戻り値

 変換が成功したら変換結果を格納したバッファを指すポインタを、それ以外はNULLを返します。

解説

 hXmlで指定されたXMLオブジェクトの内容をUTF-8のXMLドキュメントに変換してバッファに出力し、バッファを指すポインタを返します。

 prologでUTF-8の文字列を指定すると、ファイルの先頭に指定の文字列が出力されます。XML宣言などを出力するために使用します。

 本関数がNULL以外の値を返したときは、free関数でバッファを解放する必要があります。

 関数が失敗したときはNULLを返し、ErrCodeに次のエラーコードを返します。

エラーコード説明
XML_INVALID_PARAMETER_ERRORパラメーターエラー
XML_MEMORY_ALLOCATION_ERRORメモリーアロケーションエラー
XML_INVALID_XML_OBJECT_ERROR不正なXMLハンドルが指定された。

必要条件

ヘッダファイル:
XML.h
CodeConversion.h : ver.1.1.1以降
ライブラリファイル:
libXML.a
libCodeConversion.a : ver.1.1.1以降
libSTARTUPOPH5000.a

サンプル

  
XML_SaveAsXmlMemory(hXml, "<?xml version=\"1.0\" encoding=\"UTF-8\"?>", true, &length, &ErrCode);

関連事項

最終更新日:2021/10/21