10.9.1 Xml 시작하기(Getting started with Xml)

10.9.1 Xml 시작하기(Getting started with Xml)

루트 요소 만들기(Creating a root element)

Xml 루트 요소는 Xml.createElement 메서드로 만들 수 있습니다.

var root = Xml.createElement('root');
trace(root); // <root />

XML 데이터를 포함하는 String을 파싱해 루트 노드 요소를 만들 수도 있습니다.

var root = Xml.parse('<root />').firstElement();
trace(root); // <root />
자식 요소 만들기(Creating child elements)

addChild 메서드로 루트에 자식 요소를 추가할 수 있습니다.

var child:Xml = Xml.createElement('child');
root.addChild(child);
trace(root); // <root><child /></root>

set() 메서드로 요소에 속성을 추가할 수 있습니다.

child.set('name', 'John');
trace(root); // <root><child name="John" /></root>
요소와 값 접근(Accessing elements and values)

이 코드는 XML 문자열을 객체 구조 Xml로 파싱한 다음 객체의 속성에 접근합니다.

var xmlString = '<hello name="world!">Haxe is great!</hello>';
var xml:Xml = Xml.parse(xmlString).firstElement();

trace(xml.nodeName); // hello
trace(xml.get('name')); // world!
trace(xml.firstChild().nodeValue); // Haxe is great!

firstChildfirstElement의 차이는 두 번째 함수가 Xml.Element 타입의 첫 번째 자식을 반환한다는 것입니다.

Xml 요소 반복(Iterate on Xml elements)

자식 또는 요소에 대해 반복하는 다른 메서드도 사용할 수 있습니다.

for (child in xml) {
    // 모든 자식에 대해 반복.
}
for (elt in xml.elements()) {
    // 모든 요소에 대해 반복.
}
for (user in xml.elementsNamed("user")) {
    // nodeName "user"를 가진 모든 요소에 대해 반복.
}
for (att in xml.attributes()) {
    // 모든 속성에 대해 반복.
}

메서드에 대한 자세한 내용은 Xml API 문서를 참조하세요.

출처: Getting started with Xml

더 알아보기