xmlライブラリは現在、動作環境(-eオプション)が「exe」のときのみ使えます。 他の環境向けに使用するとコンパイルエラーになります。

 xml@Node

XMLのツリーのノードのクラスです。

 xml@Node.addChild



子ノードを追加するメソッドです。

func addChild(name: []char): xml@Node

nameノードの名前(タグ名)。 nullであってはならない
戻り値追加したノード

 xml@Node.delChild



子ノードを削除するメソッドです。

func delChild(node: xml@Node)

node削除する子ノード。 nullであってはならない
nodeが子ノードでなかった場合は何もせずに抜けます。

 xml@Node.findChild



子ノードを先頭から検索するメソッドです。

func findChild(name: []char): xml@Node

name検索するノードの名前(タグ名)
戻り値見つかった子ノード。 1つも見つからなかった場合はnullが返る

 xml@Node.findChildLast



子ノードを末尾から検索するメソッドです。

func findChildLast(name: []char): xml@Node

name検索するノードの名前(タグ名)
戻り値見つかった子ノード。 1つも見つからなかった場合はnullが返る

 xml@Node.findNext



次の兄弟ノードを検索するメソッドです。

func findNext(name: []char): xml@Node

name検索するノードの名前(タグ名)
戻り値見つかった子ノード。 1つも見つからなかった場合はnullが返る

 xml@Node.findPrev



前の兄弟ノードを検索するメソッドです。

func findPrev(name: []char): xml@Node

name検索するノードの名前(タグ名)
戻り値見つかった子ノード。 1つも見つからなかった場合はnullが返る

 xml@Node.firstChild



最初の子ノードを取得するメソッドです。

func firstChild(): xml@Node

戻り値最初の子ノード。 子が1つも存在しない場合はnullが返る

 xml@Node.getAttr



属性を取得するメソッドです。

func getAttr(attrName: []char): []char

attrName属性の名前
戻り値attrNameで指定した属性の値。 属性が存在しなかった場合はnullが返る

 xml@Node.getName



ノードの名前(タグ名)を取得するメソッドです。

func getName(): []char

戻り値ノードの名前(タグ名)

 xml@Node.getValue



ノードの値(タグで囲まれた中身)を取得するメソッドです。

func getValue(): []char

戻り値ノードの値(タグで囲まれた中身)。 タグの中身が空の場合はnullが返る
「<a>b<c />d</a>」のように、タグの中にテキストとタグが入り混じっていた場合、最初のタグまでのテキスト("b")を「ノードaの値」として扱い、それ以降にあるテキスト("d")はデータとして維持はされますが取得も設定もできません。
このようにタグの中にテキストとタグが入り混じることは、データ構造が複雑になるため避けたほうが無難です。

 xml@Node.insChild



子ノードを挿入するメソッドです。

func insChild(node: xml@Node, name: []char): xml@Node

node挿入する位置を示す子ノード。 nullであってはならない
nameノードの名前(タグ名)。 nullであってはならない
戻り値挿入したノード
nodeが子ノードでなかった場合は何もせずに抜けます。

 xml@Node.lastChild



最後の子ノードを取得するメソッドです。

func lastChild(): xml@Node

戻り値最後の子ノード。 子が1つも存在しない場合はnullが返る

 xml@Node.next



次の兄弟ノードを取得するメソッドです。

func next(): xml@Node

戻り値次の兄弟ノード。 存在しない場合はnullが返る

 xml@Node.parent



親ノードを取得するメソッドです。

func parent(): xml@Node

戻り値親ノード。 ルートノードに対してこのメソッドを呼び出した場合はnullが返る

 xml@Node.prev



前の兄弟ノードを取得するメソッドです。

func prev(): xml@Node

戻り値前の兄弟ノード。 存在しない場合はnullが返る

 xml@Node.setAttr



属性を設定するメソッドです。

func setAttr(attrName: []char, attrValue: []char)

attrName属性の名前
attrValueattrNameで指定した属性に設定する値。 nullを指定すると属性を削除する
attrNameで指定した属性が既に存在する場合は、新しい値で上書きします。
attrValueにnullを指定すると、既存の属性を削除しますが、そのときattrNameで指定した属性が存在しなかった場合は、何もせずに抜けます。

 xml@Node.setName



ノードの名前(タグ名)を設定するメソッドです。

func setName(name: []char)

nameノードの名前(タグ名)
ノードの名前(タグ名)を、nameで指定した名前で上書きします。

 xml@Node.setValue



ノードの値(タグで囲まれた中身)を設定するメソッドです。

func setValue(value: []char)

valueノードの値(タグで囲まれた中身)。 nullを指定するとタグの中身が空に設定される
タグの中にテキストとタグが入り混じっていた場合は、タグの部分を残してテキストの部分のみが書き換わります。

 xml@Xml

XMLのツリーのクラスです。

 xml@Xml.root



最初のルートノードを取得するメソッドです。

func root(): xml@Node

戻り値ルート
このルートノードとは、XMLファイル内の一番外側のタグのことではなく、それら一番外側のタグを子ノードとして持つ、さらにもう一段階外側にあるノードです。 XMLでは一番外側に複数のタグが存在できるため、それらを束ねるルートノードを別途用意しています。
ルートノードの最初の子ノードには通常、「<?xml version="1.0" encoding="UTF-8"?>」といったようなプロローグが存在しています。 このため通常操作する子ノードは2つ目以降になります。
ルートノード自体には「ノードの名前(タグ名)」「ノードの値(タグで囲まれた中身)」「属性」などが存在しません。 このような項目を各メソッドを使ってルートノードに対して設定しようとすると、何もせずに抜けます。

 xml@Xml.save



XMLファイルに保存するメソッドです。

func save(path: []char, compact: bool): bool

path保存するXMLファイルのパス
compact改行やインデントを出力しないならtrue、出力するならfalse
戻り値保存に成功したらtrue、失敗したらfalse

 xml@makeXml

XMLクラスのインスタンスをファイルから作成する関数です。

func makeXml(path: []char): xml@Xml

pathXMLファイルのパス
戻り値XMLクラスのインスタンス。 読み込みに失敗した場合はnullが返る
発生条件ビルド例外コード
pathのファイルが開けないdbgおよびrls0xE9170007

 xml@makeXmlEmpty

XMLクラスのインスタンスを新規に作成する関数です。

func makeXmlEmpty(): xml@Xml

戻り値XMLクラスのインスタンス
作成したXMLのツリーは空になっています。
1714027226jaf