DUMPXML¶
Category: 型取得/変換
Signature¶
DUMPXML( element [, pretty] )
Parameters¶
| Parameter | Description |
|---|---|
| element | ルート要素を表すハッシュ(FREADXML が返すのと同じ形) |
| pretty | 1 なら改行とインデントを入れて整形する。省略時は 0(1行にする) |
Returns¶
- 成功時: XML 宣言(
<?xml version="1.0" encoding="UTF-8"?>)付きの XML の文字列 - 失敗時: 空文字列
Description¶
要素のハッシュを XML の文字列にして返す。PARSEXML の逆の変換になる。
要素のハッシュのキーは次のとおり。name 以外は無くてもよい(空でもよい)。
| キー | 値 |
|---|---|
name |
タグ名(必須)。文字列 |
attr |
属性名 → 属性値 のハッシュ。値は整数・実数・文字列(文字列にして書く) |
children |
子要素のハッシュの汎用配列 |
text |
要素のテキスト。整数・実数・文字列 |
- テキストは子要素より前に書く。FREADXML で読んだ要素がテキストと子要素の混在したもの(
<p>a<b>x</b>c</p>)だと、元の並びには戻らない(<p>ac<b>x</b></p>になる) &<>と、属性値の"はエスケープする- タグ名と属性名は、ASCII の範囲だけ XML の名前の規則(先頭は英字・
_・:、2文字目以降は数字・-・.も可)で調べる。日本語などの非 ASCII の文字は使える
整形するときは、4つの空白でインデントし、改行は LF にする。テキストを持つ要素の中でも、2つ目以降の子要素の前には改行とインデントが入る。FREADXML / PARSEXML は要素の間の空白だけのテキストを無視するので、読み戻したときの text には影響しない。
エラー¶
| 状況 | 警告 | GETLASTERROR |
|---|---|---|
| 引数がない | W0008 | 8 |
要素がハッシュでない、name が無い・不正、attr がハッシュでない、属性名が不正、属性値や text が配列・ハッシュ、children が配列でない、子要素がハッシュでない |
W0027(どこが不正かも出力する) | 27 |
Example¶
_item = IHASH("name", "item", "text", "りんご")
_item["attr"] = IHASH("id", 1)
_shop = IHASH("name", "shop")
_shop["children"] = IARRAY()
_shop["children"] ,= _item
DUMPXML(_shop)
// <?xml version="1.0" encoding="UTF-8"?><shop><item id="1">りんご</item></shop>
DUMPXML(_shop, 1)
// <?xml version="1.0" encoding="UTF-8"?>
// <shop>
// <item id="1">りんご</item>
// </shop>
DUMPXML(PARSEXML('<a x="1"><b/></a>'))
// <?xml version="1.0" encoding="UTF-8"?><a x="1"><b/></a>
Compatibility¶
- YAYA: Tc602-1以降