This page was saved using jaction on 2006-09-04 8:34:14.
Address: http://flexdocs.kr/docs/flex2/langref/flash/xml/XMLDocument.html
Title: flash.xml.XMLDocument (Flex™ 2 레퍼런스 가이드)  •  Size: 49338
Packageflash.xml
Classpublic class XMLDocument
InheritanceXMLDocument Inheritance XMLNode Inheritance Object

XMLDocument 클래스는, ActionScript 2.0 에 있던 낡은 XML object를 나타냅니다. ActionScript 3.0 의 새로운 XML 클래스와의 이름의 경합을 피하기 (위해)때문에, ActionScript 3.0 에서는 XMLDocument 라는 이름으로 변경되었습니다. ActionScript 3.0 에서는, E4X (ECMAScript for XML)를 지원(support)하는 새로운 XML 클래스 및 관련 클래스를 사용하는 것을 추천합니다.

XMLDocument 클래스와 XMLNode 및 XMLNodeType 가 있는 것은, 후방 호환성을 유지하기 (위해)때문에입니다. XML 문서를 로드하는 기능은, URLLoader 클래스에 있습니다.

View the examples

See also

flash.net.URLLoader
XML class


Public property
 property정의
 Inheritedattributes : Object
지정된 XMLNode 인스턴스의 모든 속성을 포함한 object입니다.
XMLNode
 InheritedchildNodes : Array
지정된 XMLNode object의 아이의 배열입니다.
XMLNode
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  docTypeDecl : Object = null
XML 문서의 DOCTYPE 선언에 대한 정보를 지정합니다.
XMLDocument
 InheritedfirstChild : XMLNode
지정된 XMLDocument object를 평가해, 친노드의 child 리스트내의 최초의 아이를 참조합니다.
XMLNode
  idMap : Object
id 속성을 할당할 수 있었던 XML 의 노드를 포함한 object입니다.
XMLDocument
  ignoreWhite : Boolean = false
true 로 설정하면, 공백만을 포함한 텍스트 노드는 해석 처리중에 파기됩니다.
XMLDocument
 InheritedlastChild : XMLNode
노드의 child 리스트내의 마지막 아이를 참조하는 XMLNode 값입니다.
XMLNode
 InheritedlocalName : String
XML 노드명의 로컬명 부분입니다.
XMLNode
 InheritednamespaceURI : String
XML 노드에 접두사가 붙어 있는 경우,namespaceURI 는 그 접두사 (URI)의 xmlns 선언의 값이 됩니다. 이것은 통상, namespace URI 로 불립니다.
XMLNode
 InheritednextSibling : XMLNode
친노드의 child 리스트내의 다음의 child 노드를 참조하는 XMLNode 값입니다.
XMLNode
 InheritednodeName : String
XMLNode object의 노드명을 나타내는 string입니다.
XMLNode
 InheritednodeType : uint
nodeType 정수치입니다. XML 엘리먼트의 경우는 XMLNodeType.ELEMENT_NODE, 텍스트 노드의 경우는 XMLNodeType.TEXT_NODE 가 됩니다.
XMLNode
 InheritednodeValue : String
XMLDocument object의 노드치입니다.
XMLNode
 InheritedparentNode : XMLNode
지정된 XML object의 친노드를 참조하는 XMLNode 값입니다. 노드에 부모가 없는 경우는 null 를 돌려줍니다.
XMLNode
 Inheritedprefix : String
XML 노드명의 접두사 부분입니다.
XMLNode
 InheritedpreviousSibling : XMLNode
친노드의 child 리스트내의 앞의 child 노드를 참조하는 XMLNode 값입니다.
XMLNode
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
  xmlDecl : Object = null
문서의 XML 선언에 대한 정보를 지정하는 string입니다.
XMLDocument
Public Methods
 Methods정의
  XMLDocument (source:String = null)
새로운 XMLDocument object를 작성합니다.
XMLDocument
 InheritedappendChild (node:XMLNode ):void
지정된 노드를 XML object의 child 리스트에 추가합니다.
XMLNode
 InheritedcloneNode (deep:Boolean ):XMLNode
지정된 XML object와 같은 타입, 이름, 값, 및 속성을 가지는 새로운 XML 노드를 작성해, 돌려줍니다.
XMLNode
  createElement (name:String ):XMLNode
Parameters로 지정된 이름을 가지는 새로운 XMLNode object를 작성합니다.
XMLDocument
  createTextNode (text:String ):XMLNode
지정된 텍스트를 가지는 새로운 XML 텍스트 노드를 작성합니다.
XMLDocument
 InheritedgetNamespaceForPrefix (prefix:String ):String
노드로 지정된 접두사에 관련지을 수 있고 있는 namespace URI 를 돌려줍니다.
XMLNode
 InheritedgetPrefixForNamespace (ns:String ):String
노드로 지정된 namespace URI 에 관련지을 수 있고 있는 접두사를 돌려줍니다.
XMLNode
 InheritedhasChildNodes ():Boolean
지정된 XMLNode object에 child 노드가 있을지 어떨지를 나타냅니다.
XMLNode
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedinsertBefore (node:XMLNode , before:XMLNode ):void
XML object의 child 리스트내의 beforeNode 노드의 전에 새로운 child 노드를 삽입합니다.
XMLNode
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
  parseXML (source:String ):void
value Parameters로 지정된 XML 텍스트를 해석해, 지정된 XMLDocument object에 XML 트리를 설정합니다.
XMLDocument
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedremoveNode ():void
지정된 XML object를 그 부모로부터 삭제합니다.
XMLNode
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  toString ():String
XML object의 string 표현을 돌려줍니다.
XMLDocument
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
property의 상세
docTypeDeclproperty
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 선언은 출력되지 않습니다.

idMapproperty 
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' />
  
ignoreWhiteproperty 
public var ignoreWhite:Boolean = false

true 로 설정하면, 공백만을 포함한 텍스트 노드는 해석 처리중에 파기됩니다. 선행 공백 또는 후속 공백이 있는 텍스트 노드는 영향을 받지 않습니다. 디폴트 설정은,false 입니다.

다음의 코드에 나타내도록(듯이), XMLDocument object 마다 ignoreWhite property를 설정할 수 있습니다.

  my_xml.ignoreWhite = true;
  
xmlDeclproperty 
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 선언은 출력되지 않습니다.

constructor    의 상세
XMLDocument()constructor   
public 함수 XMLDocument(source:String = null)

새로운 XMLDocument object를 작성합니다. XMLDocument 클래스의 Methods를 호출하기 전에, constructor    을 사용해 XMLDocument object를 작성할 필요가 있습니다.

메모 :createElement() Methods 및 createTextNode() Methods를 사용해, XML 문서 트리에 엘리먼트와 텍스트 노드를 추가합니다.

Parameters
source:String (default = null) — 새로운 XMLDocument object를 작성하기 위해서 해석되는 XML 텍스트입니다.

See also

Methods의 상세
createElement()Methods
public function createElement(name:String ):XMLNode

Parameters로 지정된 이름을 가지는 새로운 XMLNode object를 작성합니다. 초기 상태에서는, 새로운 노드에는, 친, 자, 및 형제는 없습니다. 이 Methods는, 엘리먼트로서 새롭게 작성된 XMLNode object에의 참조를 돌려줍니다. 이 Methods와 XMLDocument.createTextNode() Methods는, XMLDocument object의 노드를 작성하기 위한 constructor    Methods입니다.

Parameters
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입니다.

Parameters
text:String — 새로운 텍스트 노드를 작성하기 위한 텍스트입니다.

반환값
XMLNode — XMLNode object입니다.

See also

parseXML()Methods 
public function parseXML(source:String ):void

value Parameters로 지정된 XML 텍스트를 해석해, 지정된 XMLDocument object에 XML 트리를 설정합니다. XMLDocument object내의 기존의 트리는 모두 파기됩니다.

Parameters
source:String — 해석되어 지정한 XMLDocument object에게 건네지는 XML 텍스트입니다.
toString()Methods 
public override function toString():String

XML object의 string 표현을 돌려줍니다.

반환값
String
Examples

다음의 예에서는, XMLDocument 클래스 및 XMLNode 클래스를 사용해, XML 문서를 해석 및 포맷 합니다. 이 예에서는, 외부 XML 파일을 로드하는 것이 아니라, 최상정도의 XML 클래스를 사용해 XML 문서를 작성해, 해석합니다.
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