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!
firstChild와 firstElement의 차이는 두 번째 함수가 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 문서를 참조하세요.