Xavier는 XPPATH를 사용하여 XML 파일 및 스트림으로 작업을 단순화하는 작은 XML 라이브러리, 객체 지향 및 크로스 플랫폼입니다.
주의 : 우리는 여전히 매우 초기 알파 버전에 있으며 API는 자주 변경 될 수 있습니다. 버전 1.0을 출시 할 때까지 자신의 위험에 따라 사용하십시오.
이 API는 무료 Pascal과 Lazarus로 작성되었습니다. 그러나 델파이와도 호환됩니다.
대부분의 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 라이센스에 따라 릴리스됩니다. 라이센스를 참조하십시오.