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

XMLNode 클래스는, ActionScript 2.0 에 있던, ActionScript 3.0 으로 이름이 변경된, 낡은 XML object를 나타냅니다. ActionScript 3.0 에서는, 대신에, E4X (ECMAScript for XML)를 지원(support)하는 새로운 최상정도의 XML 클래스 및 관련 클래스를 사용하는 것을 추천합니다. XMLNode 클래스가 있는 것은, 후방 호환성을 유지하기 (위해)때문에입니다.

View the examples

See also

XML
flash.xml.XMLDocument


Public property
 property정의
  attributes : Object
지정된 XMLNode 인스턴스의 모든 속성을 포함한 object입니다.
XMLNode
  childNodes : Array
[read-only] 지정된 XMLNode object의 아이의 배열입니다.
XMLNode
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  firstChild : XMLNode
지정된 XMLDocument object를 평가해, 친노드의 child 리스트내의 최초의 아이를 참조합니다.
XMLNode
  lastChild : XMLNode
노드의 child 리스트내의 마지막 아이를 참조하는 XMLNode 값입니다.
XMLNode
  localName : String
[read-only] XML 노드명의 로컬명 부분입니다.
XMLNode
  namespaceURI : String
[read-only] 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
[read-only] XML 노드명의 접두사 부분입니다.
XMLNode
  previousSibling : XMLNode
친노드의 child 리스트내의 앞의 child 노드를 참조하는 XMLNode 값입니다.
XMLNode
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
Public Methods
 Methods정의
  XMLNode (type:uint , value:String )
새로운 XMLNode object를 작성합니다.
XMLNode
  appendChild (node:XMLNode ):void
지정된 노드를 XML object의 child 리스트에 추가합니다.
XMLNode
  cloneNode (deep:Boolean ):XMLNode
지정된 XML object와 같은 타입, 이름, 값, 및 속성을 가지는 새로운 XML 노드를 작성해, 돌려줍니다.
XMLNode
  getNamespaceForPrefix (prefix:String ):String
노드로 지정된 접두사에 관련지을 수 있고 있는 namespace URI 를 돌려줍니다.
XMLNode
  getPrefixForNamespace (ns:String ):String
노드로 지정된 namespace URI 에 관련지을 수 있고 있는 접두사를 돌려줍니다.
XMLNode
  hasChildNodes ():Boolean
지정된 XMLNode object에 child 노드가 있을지 어떨지를 나타냅니다.
XMLNode
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
  insertBefore (node:XMLNode , before:XMLNode ):void
XML object의 child 리스트내의 beforeNode 노드의 전에 새로운 child 노드를 삽입합니다.
XMLNode
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
  removeNode ():void
지정된 XML object를 그 부모로부터 삭제합니다.
XMLNode
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  toString ():String
지정된 XMLNode object를 평가해, 노드, 아이, 및 속성을 포함한 XML 구조체의 텍스트 표현을 작성해, 결과를 string로서 돌려줍니다.
XMLNode
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
property의 상세
attributesproperty
attributes:Object   [read-write]

지정된 XMLNode 인스턴스의 모든 속성을 포함한 object입니다. XMLNode 속성 object에는, XMLNode 인스턴스의 각 속성에 대해서 1 개씩 변수가 있습니다. 이 변수는 object의 일부로서 정의되고 있으므로, 통상은 object의 property로서 참조됩니다. 각 속성의 값은, 대응하는 property에 string로서 보존됩니다. 예를 들어,color 라는 이름의 속성이 있는 경우, 다음의 코드로 가리키도록(듯이),color 를 property명으로서 지정해, 그 속성의 값을 취득할 수가 있습니다.

var myColor:String = doc.firstChild.attributes.color

Implements
    public function get attributes():Object
    public function set attributes(value:Object ):void
childNodesproperty 
childNodes:Array   [read-only]

지정된 XMLNode object의 아이의 배열입니다. 배열내의 각 엘리먼트는, child 노드를 나타내는 XMLNode object에의 참조입니다. 이것은 읽기 전용(read-only) property이며, child 노드를 조작하는 경우에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild(),insertBefore(), 및 removeNode() Methods를 사용합니다.

텍스트 노드 (nodeType == 3)의 경우, 이 property는 undefined 가 됩니다.

Implements
    public function get childNodes():Array

See also

firstChildproperty 
public var firstChild:XMLNode

지정된 XMLDocument object를 평가해, 친노드의 child 리스트내의 최초의 아이를 참조합니다. 이 property는, 노드에 아이가 없을 때는 null 입니다. 이 property는, 노드가 텍스트 노드인 경우는 undefined 입니다. 이것은 읽기 전용(read-only) property이므로, child 노드의 조작에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild() Methods,insertBefore() Methods, 및 removeNode() Methods를 사용합니다.

See also

lastChildproperty 
public var lastChild:XMLNode

노드의 child 리스트내의 마지막 아이를 참조하는 XMLNode 값입니다. XMLNode.lastChild property는, 노드에 아이가 없을 때는 null 입니다. 이 property는 child 노드의 조작에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild() Methods,insertBefore() Methods, 및 removeNode() Methods를 사용합니다.

See also

localNameproperty 
localName:String   [read-only]

XML 노드명의 로컬명 부분입니다. namespace의 접두사를 제외한 엘리먼트명입니다. 예를 들어, 노드 <contact:mailbox/>bob@example.com</contact:mailbox> 에는, 로컬명 "mailbox" 와 접두사 "contact" 가 있어, 이 2 개로 완전한 엘리먼트명 "contact.mailbox" 가 구성됩니다.

namespace의 접두사에는, XML 노드 object의 prefix property를 사용해 액세스 할 수 있습니다. nodeName property는, 접두사와 로컬명을 포함한 완전한 이름을 돌려줍니다.

Implements
    public function get localName():String
namespaceURIproperty 
namespaceURI:String   [read-only]

XML 노드에 접두사가 붙어 있는 경우,namespaceURI 는 그 접두사 (URI)의 xmlns 선언의 값이 됩니다. 이것은 통상, namespace URI 로 불립니다. xmlns 선언은, XML 계층에서 현재의 노드인가, 그것보다 상위의 노드에 있습니다.

XML 노드에 접두사가 붙지 않은 경우,namespaceURI 의 값은, 정의 끝난 디폴트의 namespace (예를 들어 xmlns="http://www.example.com/")이 있을지 어떨지에 따라서 다릅니다. 디폴트 namespace가 있는 경우,namespaceURI property의 값은 디폴트의 namespace의 값입니다. 디폴트의 namespace가 없는 경우, 그 노드의 namespaceURI property는 empty의 string ("")입니다.

getNamespaceForPrefix() Methods를 사용하면, 특정의 접두사에 관련지을 수 있고 있는 namespace를 특정할 수 있습니다. namespaceURI property는, 노드명에 관련지을 수 있고 있는 접두사를 돌려줍니다.

Implements
    public function get namespaceURI():String

See also

nextSiblingproperty 
public var nextSibling:XMLNode

친노드의 child 리스트내의 다음의 child 노드를 참조하는 XMLNode 값입니다. child 리스트에 다음의 노드가 없는 경우, 이 property는 null 가 됩니다. 이 property는 child 노드의 조작에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild() Methods,insertBefore() Methods, 및 removeNode() Methods를 사용합니다.

See also

nodeNameproperty 
public var nodeName:String

XMLNode object의 노드명을 나타내는 string입니다. XMLNode object가 XML 엘리먼트인 경우 (nodeType == 1),nodeName 는 XML 파일내의 노드를 나타내는 태그의 이름입니다. 예를 들어,TITLE 는 HTML TITLE 태그의 nodeName 입니다. XMLNode object가 텍스트 노드인 (nodeType == 3) 경우, nodeName 는 null 입니다.

See also

nodeTypeproperty 
public var nodeType:uint

nodeType 정수치입니다. XML 엘리먼트의 경우는 XMLNodeType.ELEMENT_NODE, 텍스트 노드의 경우는 XMLNodeType.TEXT_NODE 가 됩니다.

nodeType 는, W3C DOM 레벨 1 권고의 NodeType 의 일람에 기재되어 있는 수치입니다( http://www.w3.org/tr/1998/REC-DOM-Level-1-19981001/level-one-core.html ). 다음의 겉(표)는, 이러한 수치의 일람입니다.

정수치정의되고 있는 정수
1ELEMENT_NODE
2ATTRIBUTE_NODE
3TEXT_NODE
4CDATA_SECTION_NODE
5ENTITY_REFERENCE_NODE
6ENTITY_NODE
7PROCESSING_INSTRUCTION_NODE
8COMMENT_NODE
9DOCUMENT_NODE
10DOCUMENT_TYPE_NODE
11DOCUMENT_FRAGMENT_NODE
12NOTATION_NODE

Flash Player 에 짜넣어지고 있는 XMLNode 클래스에서는,XMLNodeType.ELEMENT_NODEXMLNodeTypeTEXT_NODE 만이 지원(support)됩니다.

See also

nodeValueproperty 
public var nodeValue:String

XMLDocument object의 노드치입니다. XMLDocument object가 텍스트 노드인 경우,nodeType 는 3 이며,nodeValue 는 노드의 텍스트입니다. XMLDocument object가 XML 엘리먼트인 경우 (nodeType 가 1),nodeValuenull 로, 읽기 전용(read-only)입니다.

See also

parentNodeproperty 
public var parentNode:XMLNode

지정된 XML object의 친노드를 참조하는 XMLNode 값입니다. 노드에 부모가 없는 경우는 null 를 돌려줍니다. 이것은 읽기 전용(read-only) property이므로, child 노드의 조작에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild() Methods,insertBefore() Methods, 및 removeNode() Methods를 사용합니다.

See also

prefixproperty 
prefix:String   [read-only]

XML 노드명의 접두사 부분입니다. 예를 들어, 노드 <contact:mailbox/>bob@example.com</contact:mailbox> 에는, 로컬명 "mailbox" 와 접두사 "contact" 가 있어, 이 2 개로 완전한 엘리먼트명 "contact.mailbox" 가 구성됩니다.

XML 노드 object의 nodeName property는, 접두사와 로컬명을 포함한 완전한 이름을 돌려줍니다. 엘리먼트명의 로컬명 부분에는,localName property 경유로 액세스 할 수 있습니다.

Implements
    public function get prefix():String
previousSiblingproperty 
public var previousSibling:XMLNode

친노드의 child 리스트내의 앞의 child 노드를 참조하는 XMLNode 값입니다. 노드에 전의 형제 노드가 없는 경우는, null 를 돌려줍니다. 이 property는 child 노드의 조작에는 사용할 수 없습니다. child 노드를 조작하려면 ,appendChild() Methods,insertBefore() Methods, 및 removeNode() Methods를 사용합니다.

See also

constructor    의 상세
XMLNode()constructor   
public 함수 XMLNode(type:uint , value:String )

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

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

Parameters
type:uint — 노드 타입 : XML 엘리먼트의 경우는 1, 텍스트 노드의 경우는 3 이 됩니다.
 
value:String — 새로운 XMLNode object를 작성하기 위해서 해석되는 XML 텍스트입니다.

See also

Methods의 상세
appendChild()Methods
public function appendChild(node:XMLNode ):void

지정된 노드를 XML object의 child 리스트에 추가합니다. 이 Methods는, Parameters childNode 로 참조되는 노드에 직접 실행됩니다. 노드의 복사가 추가되는 것은 아닙니다. 추가하는 노드가 다른 트리 구조내에 이미 존재하고 있는 경우는, 노드를 새로운 장소에 추가하면 현재의 장소로부터 노드가 삭제됩니다. Parameters childNode 가, 다른 XML 트리 구조내에 이미 존재하고 있는 노드를 참조하고 있는 경우, 추가되는 child 노드는, 지금까지의 친노드로부터 삭제된 다음에 새로운 트리 구조에 놓여집니다.

Parameters
node:XMLNode — 현재의 장소로부터 my_xml object의 child 리스트에 이동되는 노드를 나타내는 XMLNode 입니다.

See also

cloneNode()Methods 
public function cloneNode(deep:Boolean ):XMLNode

지정된 XML object와 같은 타입, 이름, 값, 및 속성을 가지는 새로운 XML 노드를 작성해, 돌려줍니다. deeptrue 로 설정하면, 모든 child 노드의 클론이 재귀적으로 작성되기 (위해)때문에, 원의 object의 문서 트리가 정확하게 복제됩니다.

돌려주어진 노드의 클론은, 클론 작성원의 아이템의 트리와는 관련이 없어집니다. 그 결과,nextSibling,parentNode, 및 previousSibling 의 값은 모두 null 가 됩니다. deep Parameters가 false 의 경우, 또는 my_xml 노드에 child 노드가 없는 경우는,firstChildlastChild 도 null 입니다.

Parameters
deep:Boolean — 불리언 값입니다. true 로 설정했을 경우, 지정된 XML object의 아이의 클론이 재귀적으로 작성됩니다.

반환값
XMLNode — XMLNode object입니다.
getNamespaceForPrefix()Methods 
public function getNamespaceForPrefix(prefix:String ):String

노드로 지정된 접두사에 관련지을 수 있고 있는 namespace URI 를 돌려줍니다. URI 를 특정하기 위해서,getPrefixForNamespace() 는 XML 계층을 노드로부터 윗방향에 검색해, 지정된 prefix 에 관련지을 수 있고 있는, 최초의 xmlns 선언의 namespace URI 를 필요에 따라서 돌려줍니다.

지정된 접두사에 대해서 정의되고 있는 namespace가 없는 경우는,null 값가 돌려주어집니다.

prefix 로서 empty의 string ("")를 지정하는 경우, 노드에 대해서 정의되고 있는 디폴트의 namespace (예를 들어 xmlns="http://www.example.com/")이 있으면, 이 Methods는 디폴트의 namespace URI 를 돌려줍니다.

Parameters
prefix:String — 이 Methods가 돌려주는 namespace에 관련지을 수 있고 있는 접두사입니다.

반환값
String — 지정된 접두사에 관련지을 수 있고 있는 namespace입니다.

See also

getPrefixForNamespace()Methods 
public function getPrefixForNamespace(ns:String ):String

노드로 지정된 namespace URI 에 관련지을 수 있고 있는 접두사를 돌려줍니다. 접두사를 특정하기 위해서,getPrefixForNamespace() 는 XML 계층을 노드로부터 윗방향에 검색해,ns 에 일치하는 namespace URI 에 관련지을 수 있고 있는, 최초의 xmlns 선언의 접두사를 돌려줍니다.

그 URI 에 대응하는 xmlns 선언이 없는 경우,null 가 돌려주어집니다. 그 URI 에 대응하는 xmlns 선언은 있지만, 그 선언에 관련지을 수 있고 있는 접두사가 없는 경우는, empty의 string ("")가 돌려주어집니다.

Parameters
ns:String — 이 Methods가 돌려주는 접두사에 관련지을 수 있고 있는 namespace URI 입니다.

반환값
String — 지정된 namespace에 관련지을 수 있고 있는 접두사입니다.

See also

hasChildNodes()Methods 
public function hasChildNodes():Boolean

지정된 XMLNode object에 child 노드가 있을지 어떨지를 나타냅니다. 이 property는, 지정된 XMLNode object에 child 노드가 있는 경우는 true, 그 이외의 경우는 false 입니다.

반환값
Boolean — 지정된 XMLNode object에 child 노드가 있는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.
insertBefore()Methods 
public function insertBefore(node:XMLNode , before:XMLNode ):void

XML object의 child 리스트내의 beforeNode 노드의 전에 새로운 child 노드를 삽입합니다. beforeNode Parameters가 미정도리 또는 null 인 경우, 노드는 appendChild() Methods를 사용해 추가됩니다. beforeNodemy_xml 의 아이가 아닌 경우, 삽입은 실패합니다.

Parameters
node:XMLNode — 삽입되는 XMLNode object입니다.
 
before:XMLNode childNode 의 삽입 위치의 직전의 XMLNode object입니다.

See also

removeNode()Methods 
public function removeNode():void

지정된 XML object를 그 부모로부터 삭제합니다. 또, 노드의 모든 자손도 삭제합니다.

toString()Methods 
public function toString():String

지정된 XMLNode object를 평가해, 노드, 아이, 및 속성을 포함한 XML 구조체의 텍스트 표현을 작성해, 결과를 string로서 돌려줍니다.

톱 레벨의 XMLDocument object (constructor    으로 작성된 object)의 경우는,XMLDocument.toString() Methods가 문서의 XML 선언 (보존 장소는 XMLDocument.xmlDecl property)을 출력해, 그 후에 문서의 DOCTYPE 선언 (보존 장소는 XMLDocument.docTypeDecl property)을 계속해 한층 더 object내의 모든 XML 노드의 텍스트 표현을 계속합니다. XML 선언은,XMLDocument.xmlDecl property가 null 의 경우는 출력되지 않습니다. DOCTYPE 선언은,XMLDocument.docTypeDecl property가 null 의 경우는 출력되지 않습니다.

반환값
String — XMLNode object를 나타내는 string입니다.

See also

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/XMLNode.html