| Package | flash.xml |
| Class | public class XMLDocument |
| Inheritance | XMLDocument XMLNode Object |
XMLDocument 클래스와 XMLNode 및 XMLNodeType 가 있는 것은, 후방 호환성을 유지하기 (위해)때문에입니다. XML 문서를 로드하는 기능은, URLLoader 클래스에 있습니다.
See also
| property | 정의 | ||
|---|---|---|---|
![]() | attributes : Object
지정된 XMLNode 인스턴스의 모든 속성을 포함한 object입니다.
| XMLNode | |
![]() | childNodes : Array
지정된 XMLNode object의 아이의 배열입니다.
| XMLNode | |
![]() | constructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor 함수에의 참조입니다.
| Object | |
| docTypeDecl : Object = null
XML 문서의
DOCTYPE 선언에 대한 정보를 지정합니다. | XMLDocument | ||
![]() | firstChild : XMLNode
지정된 XMLDocument object를 평가해, 친노드의 child 리스트내의 최초의 아이를 참조합니다.
| XMLNode | |
idMap : Object
id 속성을 할당할 수 있었던 XML 의 노드를 포함한 object입니다. | XMLDocument | ||
ignoreWhite : Boolean = falsetrue 로 설정하면, 공백만을 포함한 텍스트 노드는 해석 처리중에 파기됩니다. | XMLDocument | ||
![]() | lastChild : XMLNode
노드의 child 리스트내의 마지막 아이를 참조하는 XMLNode 값입니다.
| XMLNode | |
![]() | localName : String
XML 노드명의 로컬명 부분입니다.
| XMLNode | |
![]() | namespaceURI : String
XML 노드에 접두사가 붙어 있는 경우,
namespaceURI 는 그 접두사 (URI)의 xmlns 선언의 값이 됩니다. 이것은 통상, namespace URI 로 불립니다. | XMLNode | |
![]() | nextSibling : XMLNode
친노드의 child 리스트내의 다음의 child 노드를 참조하는 XMLNode 값입니다.
| XMLNode | |
![]() | nodeName : String
XMLNode object의 노드명을 나타내는 string입니다.
| XMLNode | |
![]() | nodeType : uint
nodeType 정수치입니다. XML 엘리먼트의 경우는 XMLNodeType.ELEMENT_NODE, 텍스트 노드의 경우는 XMLNodeType.TEXT_NODE 가 됩니다. | XMLNode | |
![]() | nodeValue : String
XMLDocument object의 노드치입니다.
| XMLNode | |
![]() | parentNode : XMLNode
지정된 XML object의 친노드를 참조하는 XMLNode 값입니다. 노드에 부모가 없는 경우는
null 를 돌려줍니다. | XMLNode | |
![]() | prefix : String
XML 노드명의 접두사 부분입니다.
| XMLNode | |
![]() | previousSibling : XMLNode
친노드의 child 리스트내의 앞의 child 노드를 참조하는 XMLNode 값입니다.
| XMLNode | |
![]() | prototype : Object
[static]
클래스 또는 함수 object의 prototype object에의 참조입니다.
| Object | |
| xmlDecl : Object = null
문서의 XML 선언에 대한 정보를 지정하는 string입니다.
| XMLDocument | ||
| Methods | 정의 | ||
|---|---|---|---|
| XMLDocument (source:String = null)
새로운 XMLDocument object를 작성합니다.
| XMLDocument | ||
![]() | appendChild (node:XMLNode ):void
지정된 노드를 XML object의 child 리스트에 추가합니다.
| XMLNode | |
![]() | cloneNode (deep:Boolean ):XMLNode
지정된 XML object와 같은 타입, 이름, 값, 및 속성을 가지는 새로운 XML 노드를 작성해, 돌려줍니다.
| XMLNode | |
| createElement (name:String ):XMLNode
Parameters로 지정된 이름을 가지는 새로운 XMLNode object를 작성합니다.
| XMLDocument | ||
| createTextNode (text:String ):XMLNode
지정된 텍스트를 가지는 새로운 XML 텍스트 노드를 작성합니다.
| XMLDocument | ||
![]() | getNamespaceForPrefix (prefix:String ):String
노드로 지정된 접두사에 관련지을 수 있고 있는 namespace URI 를 돌려줍니다.
| XMLNode | |
![]() | getPrefixForNamespace (ns:String ):String
노드로 지정된 namespace URI 에 관련지을 수 있고 있는 접두사를 돌려줍니다.
| XMLNode | |
![]() | hasChildNodes ():Boolean
지정된 XMLNode object에 child 노드가 있을지 어떨지를 나타냅니다.
| XMLNode | |
![]() | hasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
| Object | |
![]() | insertBefore (node:XMLNode , before:XMLNode ):void
XML object의 child 리스트내의
beforeNode 노드의 전에 새로운 child 노드를 삽입합니다. | XMLNode | |
![]() | isPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
| Object | |
parseXML (source:String ):void
value Parameters로 지정된 XML 텍스트를 해석해, 지정된 XMLDocument object에 XML 트리를 설정합니다. | XMLDocument | ||
![]() | propertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
| Object | |
![]() | removeNode ():void
지정된 XML object를 그 부모로부터 삭제합니다.
| XMLNode | |
![]() | setPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
| Object | |
| toString ():String
XML object의 string 표현을 돌려줍니다.
| XMLDocument | ||
![]() | valueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
| Object | |
| docTypeDecl | property |
public var docTypeDecl:Object = null
XML 문서의 DOCTYPE 선언에 대한 정보를 지정합니다. XML 텍스트가 XMLDocument object에 해석된 후, XMLDocument object의 XMLDocument.docTypeDecl property는, XML 문서의 DOCTYPE 선언의 텍스트 (예를 들어,<! DOCTYPE greeting SYSTEM "hello.dtd">)로 설정됩니다. 이 property는, XMLNode object가 아니고 DOCTYPE 선언의 string 표현을 사용해 설정됩니다.
낡은 ActionScript 의 XML 퍼서는, 타당성 검증용 퍼서가 아닙니다. DOCTYPE 선언은 퍼서에 의해 읽어내져XMLDocument.docTypeDecl property에 포함됩니다만, DTD 의 타당성 검사는 행해지지 않습니다.
해석중에 DOCTYPE 선언이 발견되지 않았던 경우,XMLDocument.docTypeDecl property는 null 로 설정됩니다. XML.toString() Methods는,XML.xmlDecl 에 보존되고 있는 XML 선언의 바로 후, XML object내의 다른 텍스트보다 전에,XML.docTypeDecl 의 내용을 출력합니다. XMLDocument.docTypeDecl 가 null 인 경우,DOCTYPE 선언은 출력되지 않습니다.
| idMap | property |
public var idMap:Object
id 속성을 할당할 수 있었던 XML 의 노드를 포함한 object입니다. 노드를 포함하는 각 object의 property의 이름은 id 속성의 값에 일치합니다.
예를 들어, 다음과 같은 XMLDocument object를 검토합니다.
<employee id='41'>
<name>
John Doe
</name>
<address>
601 Townsend St.
</address>
</employee>
<employee id='42'>
<name>
Jane Q. Public
</name>
</employee>
<department id="IT">
Information Technology
</department>
이 예에서는, 이 XMLDocument object의 idMap property는,41,42, 및 IT 의 3 개의 property를 가지는 object입니다. 이러한 property는 각각 대응하는 id 값를 가지는 XMLNode 입니다. 예를 들어,idMap object의 IT property는 다음의 노드가 됩니다.
<department id="IT"> Information Technology </department>
XMLDocument object의 parseXML() Methods를 사용해,idMap property를 인스턴스화할 필요가 있습니다.
같은 id 값를 가지는 XMLNode 가 다수 있는 경우는,idNode object의 대응하는 property는, 해석된 마지막 노드의 property입니다. 다음에 예를 나타냅니다.
var x1:XML = new XMLDocument("<a id='1'><b id='2' /><c id='1' /></a>");
x2 = new XMLDocument();
x2.parseXML(x1);
trace (x2.idMap['1']);
<c> 노드가 출력됩니다.
<c id='1' />
| ignoreWhite | property |
public var ignoreWhite:Boolean = false
true 로 설정하면, 공백만을 포함한 텍스트 노드는 해석 처리중에 파기됩니다. 선행 공백 또는 후속 공백이 있는 텍스트 노드는 영향을 받지 않습니다. 디폴트 설정은,false 입니다.
다음의 코드에 나타내도록(듯이), XMLDocument object 마다 ignoreWhite property를 설정할 수 있습니다.
my_xml.ignoreWhite = true;
| xmlDecl | property |
public var xmlDecl:Object = null
문서의 XML 선언에 대한 정보를 지정하는 string입니다. XML 문서가 XMLDocument object에 해석된 후, 이 property는 문서의 XML 선언의 텍스트로 설정됩니다. 이 property는, XMLNode object가 아니고 XML 선언의 string 표현을 사용해 설정됩니다. 해석중에 XML 선언이 발견되지 않았던 경우, property는 null 로 설정됩니다. XMLDocument.toString() Methods는, XML object내의 다른 텍스트의 전에,XML.xmlDecl property의 내용을 출력합니다. XML.xmlDecl property에 null 가 포함되어 있는 경우, XML 선언은 출력되지 않습니다.
| XMLDocument | () | constructor |
public 함수 XMLDocument(source:String = null)새로운 XMLDocument object를 작성합니다. XMLDocument 클래스의 Methods를 호출하기 전에, constructor 을 사용해 XMLDocument object를 작성할 필요가 있습니다.
메모 :createElement() Methods 및 createTextNode() Methods를 사용해, XML 문서 트리에 엘리먼트와 텍스트 노드를 추가합니다.
source:String (default = null) — 새로운 XMLDocument object를 작성하기 위해서 해석되는 XML 텍스트입니다.
|
See also
| createElement | () | Methods |
public function createElement(name:String ):XMLNode
Parameters로 지정된 이름을 가지는 새로운 XMLNode object를 작성합니다. 초기 상태에서는, 새로운 노드에는, 친, 자, 및 형제는 없습니다. 이 Methods는, 엘리먼트로서 새롭게 작성된 XMLNode object에의 참조를 돌려줍니다. 이 Methods와 XMLDocument.createTextNode() Methods는, XMLDocument object의 노드를 작성하기 위한 constructor Methods입니다.
name:String — 작성하는 XMLDocument 엘리먼트의 태그명입니다.
|
XMLNode —
XMLNode object입니다.
|
See also
| createTextNode | () | Methods |
public function createTextNode(text:String ):XMLNode
지정된 텍스트를 가지는 새로운 XML 텍스트 노드를 작성합니다. 처음은, 새로운 노드에는 부모가 없습니다. 또, 텍스트 노드는, child 또는 형제를 가질 수가 없습니다. 이 Methods는, 새로운 텍스트 노드를 나타내는 XMLDocument object에의 참조를 돌려줍니다. 이 Methods와 XMLDocument.createElement() Methods는, XMLDocument object의 노드를 작성하기 위한 constructor Methods입니다.
text:String — 새로운 텍스트 노드를 작성하기 위한 텍스트입니다.
|
XMLNode —
XMLNode object입니다.
|
See also
| parseXML | () | Methods |
public function parseXML(source:String ):void
value Parameters로 지정된 XML 텍스트를 해석해, 지정된 XMLDocument object에 XML 트리를 설정합니다. XMLDocument object내의 기존의 트리는 모두 파기됩니다.
source:String — 해석되어 지정한 XMLDocument object에게 건네지는 XML 텍스트입니다.
|
| toString | () | Methods |
package {
import flash.display.Sprite;
import flash.xml.XMLDocument;
import flash.xml.XMLNode;
import flash.xml.XMLNodeType;
public class XMLDocumentExample extends Sprite {
public function XMLDocumentExample() {
var result:XMLDocument = new XMLDocument();
result.ignoreWhite = true;
result.parseXML(getXMLString());
var books:Array = parseBooks(result.firstChild);
trace("books: \n" + books);
}
private function parseBooks(node:XMLNode) :Array {
var books:Array = new Array();
var kids:Array = node.childNodes;
for each(var item:XMLNode in kids) {
parseBook(item, books);
}
return books;
}
private function parseBook(node:XMLNode, books:Array) :void {
var item:Book = new Book();
item.setPublisher(node.attributes.publisher);
item.setName(node.attributes.name);
books.push(item);
}
private function getXMLString() :String {
var list:XML = <books>
<book publisher="Addison-Wesley" name="Design Patterns" />
<book publisher="Addison-Wesley" name="The Pragmatic Programmer" />
<book publisher="Addison-Wesley" name="Test Driven Development" />
<book publisher="Addison-Wesley" name="Refactoring to Patterns" />
<book publisher="O'Reilly Media" name="The Cathedral & the Bazaar" />
<book publisher="O'Reilly Media" name="Unit Test Frameworks" />
</books>;
return list.toXMLString();
}
}
}
class Book {
private var publisher:String;
private var name:String;
public function setPublisher(publisher:String) :void {
this.publisher = publisher;
}
public function setName(name:String) :void {
this.name = name;
}
public function toString() :String {
return "[Book name: " + name + " publisher: " + publisher + "]\n";
}
}
코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트
현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/xml/XMLDocument.html