Xavierは、XPATHを使用してXMLファイルとストリームで作業を簡素化する小さなXMLライブラリ、オブジェクト指向のクロスプラットフォームです。
注意:私たちはまだ非常に初期のアルファバージョンで、APIは頻繁に変化する可能性があります。バージョン1.0をリリースするまで、自分の責任で使用してください。
このAPIは、無料のPascalとLazarusで書かれています。ただし、Delphiとも互換性があります。
ほとんどのXMLライブラリは非常に複雑です。各クラスには非常に多くの方法があり、それらを使用して理解するのが難しい場合があります。これらの実装も非常に手続き的です。
主な目標は、XMLでより簡単に動作するために、非常に多くの条件と変数を持つ可能性のある一般的な手続きコードを置き換えることです。
コードは、接頭辞と接尾辞としての命名とスタイルに関する規則を制限し、プログラマーが迅速にジョブを行う正しいクラスまたは方法を見つけるのに役立ちます。
コンピューターの一部のディレクトリのリポジトリをクローンします。
内部的には、このプロジェクトでは、各コンパイラに組み込みのXMLライブラリを使用しています。
それに加えて、他のライブラリを使用しています。
これらのバージョンを使用してテストされています。
ラザロにインストールするには:
JamesLib.lpkを持っていることを確認し、 mormot_base.lpk利用できることを確認してください - 依存関係を参照してください/pkg/XavierLib.lpkでパッケージを開きますIDEは、あらゆるプロジェクトで使用するXavierlibパッケージについて認識します。
<xavier>ソースを保存したパスと考えると、プロジェクトにはこれらのパスを含める必要があります。
<xavier>ソースを保存したパスと考えると、プロジェクトにこれらのパスを含める必要があります。
<xavier>src;<xavier>srcdelphi独自のソースでXavierを使用する例をいくつか見つけることができます。 Xavier*Testsユニットをご覧ください。
さらに、以下に開始する基本を見つけることができます。
以下のすべての例については、このXMLを取得します。
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< root >
< foo a1 = " f1 " a2 = " f2 " >
< value >foo</ value >
</ foo >
< bar a1 = " b1 " a2 = " b2 " >
< value >bar</ value >
</ bar >
</ root >fooノードのvalueチャイルドノードを見つけたい場合は、これを行います。
var
pack: IXMLPack;
n: IXMLNode;
begin
pack := TXMLPack.Create(
TDataFile.Create( ' file.xml ' ).Ref.Stream
);
n := pack.Node( ' /root/foo/value ' );
ShowMessage(n.Text); // "foo"
end .実際、変数packまたはnは必要ありません。直接電話するだけです:
begin
ShowMessage(
TXMLPack.Create(
TDataFile.Create( ' file.xml ' ).Ref.Stream
)
.Ref
.Node( ' /root/foo/value ' )
.Text
); // "foo"
end .これを簡単に行うノードを追加できます:
// add a new node: name="item" value="a"
begin
TXMLPack.Create(TDataFile.Create( ' file.xml ' ).Ref.Stream)
.Ref
.Node( ' /root ' )
.Add( ' item ' )
.Text( ' a ' )
end ;ノードがこれを行っている子供の数を数えることができます。
// How many childs
begin
TXMLPack.Create(TDataFile.Create( ' file.xml ' ).Ref.Stream)
.Ref
.Node( ' /root ' )
.Childs
.Count
end ;あなたはこれを行う名前で任意の属性を見つけることができます:
// Find by name "id"
begin
TXMLPack.Create(TDataFile.Create( ' file.xml ' ).Ref.Stream)
.Ref
.Node( ' /root ' )
.Attrs
.Item( ' id ' )
end ;属性を追加することも非常に簡単です:
// Add an attribute: name="foo" value="bar"
begin
TXMLPack.Create(TDataFile.Create( ' file.xml ' ).Ref.Stream)
.Ref
.Node( ' /root ' )
.Attrs
.Add( ' foo ' , ' bar ' )
end ;このプロジェクトはMITライセンスの下でリリースされます。ライセンスを参照してください。