This page was saved using jaction on 2006-09-04 8:34:14.
Address: http://flexdocs.kr/docs/flex2/langref/XML.html
Title: XML (Flex™ 2 레퍼런스 가이드)  •  Size: 154930
Package톱 레벨
Classpublic final dynamic class XML
InheritanceXML Inheritance Object

XML 클래스에는, XML object를 조작하기 위한 Methods와 property가 포함되어 있습니다. XMLList, Namespace, 및 QName 등의 클래스와 같이, XML 클래스에는 ECMAScript for XML (E4X) 사양 (ECMA-357 Edition 2)으로 정의되고 있는 강력한 XML 처리 규격이 Implements되고 있습니다.

toXMLString() Methods는, XML object에 단순 내용이 포함되는지, 복합 내용이 포함될까에 관계없이, XML object의 string 표현을 돌려줍니다.

메모:ActionScript 2.0 의 XML 클래스와 관련 클래스는 XMLDocument 라고 하는 클래스명으로 변경되어 flash.xml 패키지에 이행 되고 있습니다. XMLDocument 은, 후방 호환성을 유지하는 목적으로 ActionScript 3.0 에 남아 있는 것입니다.

View the examples

See also

Namespace
QName
XMLList
XML.toXMLString()
ECMAScript for XML (E4X) specification (ECMA-357 edition 2)
XML object


Public property
 property정의
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  ignoreComments : Boolean
[static] XML object가 소스의 XML 데이터를 해석할 때에, XML 코멘트를 무시할지 어떨지를 결정합니다.
XML
  ignoreProcessingInstructions : Boolean
[static] XML object가 소스의 XML 데이터를 해석할 때에, XML 처리 인스트럭션을 무시할지 어떨지를 결정합니다.
XML
  ignoreWhitespace : Boolean
[static] 텍스트 노드의 선두 및 마지막 공백 캐릭터를, 해석시에 무시할지 어떨지를 결정합니다.
XML
  prettyIndent : int
[static] XML.prettyPrinting property를 true 로 설정했을 경우에,toString() Methods와 toXMLString() Methods가 적용하는 인덴트의 양을 결정합니다.
XML
  prettyPrinting : Boolean
[static] toString() Methods와 toXMLString() Methods가, 태그간의 공백 캐릭터를 정규화할지 어떨지를 결정합니다.
XML
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
Public Methods
 Methods정의
  XML (value:Object )
새로운 XML object를 작성합니다.
XML
  addNamespace (ns:Object ):XML
XML object의 범위(scope)내의 namespace 세트에 namespace를 추가합니다.
XML
  appendChild (child:Object ):XML
지정된 아이를 XML object의 property의 마지막에 추가합니다.
XML
  attribute (attributeName:* ):XMLList
attributeName Parameters에 일치하는 이름을 가지는 속성의 XML 값를 돌려줍니다.
XML
  attributes ():XMLList
지정된 XML object의 속성치의 리스트를 돌려줍니다.
XML
  child (propertyName:Object ):XMLList
XML object의 아이를 열거합니다.
XML
  childIndex ():int
부모의 문맥내에서의 이 XML object의 0 으로부터 시작되는 인덱스 위치를 식별합니다.
XML
  children ():XMLList
XML object의 아이를, 출현하는 순서로 열거합니다.
XML
  comments ():XMLList
XML 코멘트를 가지는 XML object의 property를 열거합니다.
XML
  contains (value:XML ):Boolean
XML object와 지정된 value Parameters를 비교합니다.
XML
  copy ():XML
지정된 XML object의 복사를 돌려줍니다.
XML
  defaultSettings ():Object
[static] property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 를 디폴트치로 설정한 object를 돌려줍니다.
XML
  descendants (name:Object = *):XMLList
지정된 name Parameters를 가지는 XML object의 모든 자손 (자, 손자, 히 손자등)을 돌려줍니다.
XML
  elements (name:Object = *):XMLList
XML object의 엘리먼트를 열거합니다.
XML
  hasComplexContent ():Boolean
XML object에 복합 내용이 포함될지 어떨지를 확인합니다.
XML
  hasOwnProperty (p:String ):Boolean
object에 p Parameters로 지정된 property가 있을지 어떨지를 확인합니다.
XML
  hasSimpleContent ():Boolean
XML object에 단순 내용이 포함될지 어떨지를 확인합니다.
XML
  inScopeNamespaces ():Array
object의 부모에 근거해, XML object의 namespace를 열거합니다.
XML
  insertChildAfter (child1:Object , child2:Object ):*
지정된 child2 Parameters를, 이 XML object의 child1 Parameters의 뒤에 삽입해, 그 결과의 object를 돌려줍니다.
XML
  insertChildBefore (child1:Object , child2:Object ):*
지정된 child2 Parameters를, 이 XML object의 child1 Parameters의 전에 삽입해, 그 결과의 object를 돌려줍니다.
XML
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
  length ():int
XML object의 경우, 이 Methods는 항상 정수 1 을 돌려줍니다.
XML
  localName ():Object
XML object의 수식명의 로컬명 부분을 지정합니다.
XML
  name ():Object
XML object의 수식명을 지정합니다.
XML
  namespace (prefix:String = null):*
Parameters를 지정하지 않는 경우, 이 XML object의 수식명에 관련지을 수 있고 있는 namespace를 지정합니다.
XML
  namespaceDeclarations ():Array
부모의 문맥으로 XML object에 관련지을 수 있고 있는 namespace 선언을 열거합니다.
XML
  nodeKind ():String
노드의 타입을 지정합니다. 텍스트, 코멘트, 처리 인스트럭션, 속성, 또는 엘리먼트의 머지않아인가입니다.
XML
  normalize ():XML
XML object와 모든 자손의 XML object에 대해, 인접하는 텍스트 노드를 결합해, empty의 텍스트 노드를 삭제합니다.
XML
  parent ():*
XML 오브제크의 부모를 돌려줍니다.
XML
  prependChild (value:Object ):XML
지정된 child object의 복사를, 이 엘리먼트내의 기존의 모든 XML property의 전에 삽입합니다.
XML
  processingInstructions (name:String = "*"):XMLList
name Parameters를 지정했을 경우, 그 name 를 가지는 처리 인스트럭션을 포함한 XML object의 모든 아이를 열거합니다.
XML
  propertyIsEnumerable (p:String ):Boolean
XML object에 적용되는 for..in 명령문(statement)내에서 반복 처리되는 property 세트내에, property p 가 있을지 어떨지를 확인합니다.
XML
  removeNamespace (ns:Namespace ):XML
이 object와 모든 자손으로 지정된 namespace를 삭제합니다.
XML
  replace (propertyName:Object , value:XML ):XML
propertyName Parameters로 지정된 property를, 지정된 value Parameters에 옮겨놓습니다.
XML
  setChildren (value:Object ):XML
XML object의 child property를,value Parameters로 지정된 XML property세트에 옮겨놓습니다.
XML
  setLocalName (name:String ):void
XML object의 로컬명을, 지정된 name Parameters로 변경합니다.
XML
  setName (name:String ):void
XML object의 이름을, 지정된 수식명 또는 속성명으로 설정합니다.
XML
  setNamespace (ns:Namespace ):void
XML object에 관련지을 수 있고 있는 namespace를 설정합니다.
XML
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
  setSettings (... rest):void
[static] XML property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 의 값을 설정합니다.
XML
  settings ():Object
[static] property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 를 취득합니다.
XML
  text ():XMLList
XML 텍스트 노드를 나타내는 XML object의 모든 XML property의 XMLList object를 돌려줍니다.
XML
  toString ():String
XML object의 string 표현을 돌려줍니다.
XML
  toXMLString ():String
XML object의 string 표현을 돌려줍니다.
XML
  valueOf ():XML
XML object를 돌려줍니다.
XML
property의 상세
ignoreCommentsproperty
ignoreComments:Boolean   [read-write]

XML object가 소스의 XML 데이터를 해석할 때에, XML 코멘트를 무시할지 어떨지를 결정합니다. 디폴트에서는, 코멘트를 무시합니다 (true). XML 코멘트를 포함하려면 , 이 property를 false 로 설정합니다. ignoreComments property는,myXMLObject.child(*). toXMLString() 등의 Methods의 호출시가 아니고, XML 의 해석시에게만 사용합니다. 소스의 XML 에 코멘트 노드가 포함되는 경우, 이 노드는 XML 의 해석시에는 보관 유지되는지, 또는 파기됩니다.

Implements
    public static function get ignoreComments():Boolean
    public function set ignoreComments(value:Boolean ):void

See also


Example
이 예는,XML.ignoreCommentsfalse 로 설정했을 경우와 true 로 설정했을 경우의 영향을 나타내고 있습니다.
XML.ignoreComments = false;
var xml1:XML = 
        <foo>
            <! -- comment -->
        </foo>;
trace(xml1.toXMLString()); // <foo><! -- comment --></foo>

XML.ignoreComments = true;
var xml2:XML = 
        <foo>
            <! -- example -->
        </foo>;
trace(xml2.toXMLString()); // <foo/>

ignoreProcessingInstructionsproperty 
ignoreProcessingInstructions:Boolean   [read-write]

XML object가 소스의 XML 데이터를 해석할 때에, XML 처리 인스트럭션을 무시할지 어떨지를 결정합니다. 디폴트에서는, 처리 인스트럭션을 무시합니다 (true). XML 처리 인스트럭션을 포함하려면 , 이 property를 false 로 설정합니다. ignoreProcessingInstructions property는,myXMLObject.child(*). toXMLString() 등의 Methods의 호출시가 아니고, XML 의 해석시에게만 사용합니다. 소스의 XML 에 처리 인스트럭션 노드가 포함되는 경우, 이 노드는 XML 의 해석시에는 보관 유지되는지, 또는 파기됩니다.

Implements
    public static function get ignoreProcessingInstructions():Boolean
    public function set ignoreProcessingInstructions(value:Boolean ):void

See also


Example
이 예는,XML.ignoreProcessingInstructionsfalse 로 설정했을 경우와 true 로 설정했을 경우의 영향을 나타내고 있습니다.
XML.ignoreProcessingInstructions = false;
var xml1:XML = 
        <foo>
            <? exampleInstruction ? >
        </foo>;
trace(xml1.toXMLString()); // <foo><? exampleInstruction ? ></foo>

XML.ignoreProcessingInstructions = true;
var xml2:XML = 
        <foo>
            <? exampleInstruction ? >
        </foo>;
trace(xml2.toXMLString()); // <foo/>

ignoreWhitespaceproperty 
ignoreWhitespace:Boolean   [read-write]

텍스트 노드의 선두 및 마지막 공백 캐릭터를, 해석시에 무시할지 어떨지를 결정합니다. 디폴트에서는, 공백 캐릭터를 무시합니다 (true). 텍스트 노드가 100% 공백 캐릭터로,ignoreWhitespace property가 true 로 설정되어 있는 경우, 노드는 작성되지 않습니다. 텍스트 노드내의 공백 캐릭터를 표시하려면 ,ignoreWhitespace property를 false 로 설정합니다.

Implements
    public static function get ignoreWhitespace():Boolean
    public function set ignoreWhitespace(value:Boolean ):void

Example
이 예는,XML.ignoreWhitespacefalse 로 설정했을 경우와 true 로 설정했을 경우의 영향을 나타내고 있습니다.
XML.ignoreWhitespace = false;
var xml1:XML = <foo>    </foo>;
trace(xml1.children(). length()); // 1

XML.ignoreWhitespace = true;
var xml2:XML = <foo>    </foo>;
trace(xml2.children(). length()); // 0

prettyIndentproperty 
prettyIndent:int   [read-write]

XML.prettyPrinting property를 true 로 설정했을 경우에,toString() Methods와 toXMLString() Methods가 적용하는 인덴트의 양을 결정합니다. 인덴트는, 탭 캐릭터가 아니고, 공백 캐릭터로 적용됩니다. 디폴트치는 2 입니다.

Implements
    public static function get prettyIndent():int
    public function set prettyIndent(value:int ):void

See also


Example
이 예는,XML.prettyIndent 정적 property를 설정했을 경우의 영향을 나타내고 있습니다.
var xml:XML = <foo><bar/></foo>;
XML.prettyIndent = 0;
trace(xml.toXMLString());

XML.prettyIndent = 1;
trace(xml.toXMLString());

XML.prettyIndent = 2;
trace(xml.toXMLString());

prettyPrintingproperty 
prettyPrinting:Boolean   [read-write]

toString() Methods와 toXMLString() Methods가, 태그간의 공백 캐릭터를 정규화할지 어떨지를 결정합니다. 디폴트치는 true 입니다.

Implements
    public static function get prettyPrinting():Boolean
    public function set prettyPrinting(value:Boolean ):void

See also


Example
이 예는,XML.prettyPrinting 정적 property를 설정했을 경우의 영향을 나타내고 있습니다.
var xml:XML = <foo><bar/></foo>;
XML.prettyPrinting = false;
trace(xml.toXMLString());

XML.prettyPrinting = true;
trace(xml.toXMLString());

constructor    의 상세
XML()constructor   
public 함수 XML(value:Object )

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

toXMLString() Methods는, XML object에 단순 내용이 포함되는지, 복합 내용이 포함될까에 관계없이, XML object의 string 표현을 돌려줍니다.

Parameters
value:Object — 톱 레벨 함수 XML() 에 의해 XML 에 변환 가능한 object입니다.

See also

Methods의 상세
addNamespace()Methods
AS3 function addNamespace(ns:Object ):XML

XML object의 범위(scope)내의 namespace 세트에 namespace를 추가합니다. 그 namespace가 XML object의 범위(scope)내의 namespace 세트에 이미 존재하는 (지정된 Parameters에 일치하는 접두사를 가진다) 경우, 기존의 namespace의 접두사는 undefined 로 설정됩니다. 입력 Parameters가 Namespace object의 경우는, 이 object가 직접 사용됩니다. 입력 Parameters가 QName object의 경우는, 새로운 namespace의 작성에 입력 Parameters의 URI 가 사용되어 그 이외의 경우는, 입력 Parameters는 String 에 변환되어 namespace가 그 String 로부터 작성됩니다.

Parameters
ns:Object — XML object에 추가하는 namespace입니다.

반환값
XML — namespace가 추가된 새로운 XML object입니다.

See also


Example
다음의 예에서는, 1 개의 XML object에 정의되고 있는 namespace를 사용해, 이것을 다른 XML object에 적용합니다.
var xml1:XML = <ns:foo xmlns:ns="www.example.com/ns" />;
var nsNamespace:Namespace = xml1.namespace();

var xml2:XML = <bar />;
xml2.addNamespace(nsNamespace);
trace(xml2.toXMLString()); // <bar xmlns:ns="www.example.com/ns"/>

appendChild()Methods 
AS3 function appendChild(child:Object ):XML

지정된 아이를 XML object의 property의 마지막에 추가합니다. appendChild() Methods는, XML object, XMLList object, 또는 다른 임의의 데이터형 (다음에 String 데이터형에 변환됩니다)을 받습니다.

XML 노드를 삭제하려면 ,delete (XML) 연산자를 사용합니다.

Parameters
child:Object — 추가하는 XML object입니다.

반환값
XML — 결과적으로 작성되는 XML object입니다.

See also


Example
이 예에서는, 새로운 엘리먼트를 XML object의 child 리스트의 마지막에 추가합니다.
var xml:XML = 
        <body>
            <p>hello</p>
        </body>;
        
xml.appendChild(<p>world</p>);    
trace(xml.p[0]. toXMLString()); // <p>hello</p>
trace(xml.p[1]. toXMLString()); // <p>world</p>

attribute()Methods 
AS3 function attribute(attributeName:* ):XMLList

attributeName Parameters에 일치하는 이름을 가지는 속성의 XML 값를 돌려줍니다. 속성은 XML 엘리먼트내에 있습니다. 예를 들어,<first gender="boy">John</first> 의 경우, 엘리먼트는 값 "boy" 의 "gender" 라는 이름의 속성을 가집니다. <first gender="boy">John</first>.

attributeName Parameters에는 임의의 데이터형을 지정할 수 있습니다만, String 데이터형을 사용하는 것이 가장 일반적입니다. QName object 이외의 object를 건네주었을 경우,attributeName Parameters는 toString() Methods를 사용해 Parameters를 string로 변환합니다.

수식명 참조가 필요한 경우는, QName object로 건네줄 수가 있습니다. QName object는 namespace과 로컬명을 정의해서 , 속성의 수식명의 정의에 사용할 수가 있습니다. 따라서,attribute(qname) 의 호출은 attribute(qname.toString()) 의 호출과 같지는 않습니다.

Parameters
attributeName:* — 속성의 이름입니다.

반환값
XMLList — XMLList object 또는 empty의 XMLList object입니다. 속성치가 정의되어 있지 않은 경우는 empty의 XMLList 를 돌려줍니다.

See also


Example
이 예는,attribute() Methods에게 건네지는 QName object를 나타냅니다. attr 로,namespace property는 ns 입니다.
 var xml:XML = <ns:node xmlns:ns = "http://uri" ns:attr = '7' />       
 var qn:QName = new QName("http://uri", "attr");
 trace (xml.attribute(qn)); // 7

ActionScript 의 예약어(reserved word)에 일치하는 이름의 속성을 돌려주려면 , 속성 식별 연산자 (@)가 아니고, 다음의 예의 같게 attribute() Methods를 사용합니다.
 var xml:XML = <example class="first" />
 trace(xml.attribute("class"));

attributes()Methods 
AS3 function attributes():XMLList

지정된 XML object의 속성치의 리스트를 돌려줍니다. attributes() Methods와 함께 name() Methods를 사용해 속성의 이름을 돌려줍니다. 모든 속성의 이름을 돌려주려면,@* 를 사용합니다.

반환값
XMLList — 속성치의 리스트입니다.

See also


Example
다음의 예에서는, 속성의 이름을 돌려줍니다.
var xml:XML=<example id='123' color='blue'/>
trace(xml.attributes()[1]. name()); //color

이 예는, 모든 속성의 이름을 돌려줍니다.
 
var xml:XML = <example id='123' color='blue'/>
var attNamesList:XMLList = xml. @*;

trace (attNamesList is XMLList); // true
trace (attNamesList.length()); // 2

for (var i:int = 0; i < attNamesList.length(); i++)
{ 
    trace (typeof (attNamesList[i])); // xml
    trace (attNamesList[i]. nodeKind()); // attribute
    trace (attNamesList[i]. name()); // id and color
}

child()Methods 
AS3 function child(propertyName:Object ):XMLList

XML object의 아이를 열거합니다. XML 의 1 살의 아이는, 1 개의 XML 엘리먼트, 텍스트 노드, 코멘트, 또는 처리 인스트럭션입니다.

propertyName Parameters를 사용해, 특정의 XML 의 아이의 내용을 열거합니다. 예를 들어,<first> 라는 이름의 아이의 내용을 돌려주려면 ,child.name("first") 를 사용합니다. 아이의 인덱스 번호를 사용해도 같은 결과를 얻을 수 있습니다. 인덱스 번호는, 복수의 XML 의 아이의 리스트내에서의 아이의 위치를 식별합니다. 예를 들어,name.child(0) 는 리스트내의 선두의 아이를 돌려줍니다.

XML 문서내의 모든 아이를 출력하려면 asterisk (*)를 사용합니다. 예를 들어,doc.child("*") 가 됩니다.

아이의 총수를 출력하려면 , asterisk (*) Parameters를 지정한 child() Methods와 함께 length() 를 사용합니다. 예를 들어,numChildren = doc.child("*"). length() 가 됩니다.

Parameters
propertyName:Object — XML 의 아이의 엘리먼트명 또는 정수입니다.

반환값
XMLList — 입력 Parameters에 일치하는 child 노드의 XMLList object입니다.

See also


Example
이 예는, 지정된 이름인 child 엘리먼트를 식별하는 child() Methods의 사용법을 가리킵니다.
var xml:XML = 
        <foo>
            <bar>text1</bar>
            <bar>text2</bar>
        </foo>;
trace(xml.child("bar"). length());  // 2
trace(xml.child("bar")[0]. toXMLString()); // <bar>text1</bar>
trace(xml.child("bar")[1]. toXMLString()); // <bar>text2</bar>

childIndex()Methods 
AS3 function childIndex():int

부모의 문맥내에서의 이 XML object의 0 으로부터 시작되는 인덱스 위치를 식별합니다.

반환값
int — object의 위치입니다. 정의 정수 뿐만이 아니라,-1 도 돌려줍니다.

See also


Example
이 예에서는,childIndex() Methods의 사용법을 나타냅니다.
var xml:XML = 
            <foo>
                <bar />
                text
                <bob />
            </foo>;
trace(xml.bar.childIndex()); // 0
trace(xml.bob.childIndex()); // 2

children()Methods 
AS3 function children():XMLList

XML object의 아이를, 출현하는 순서로 열거합니다. XML 의 1 살의 아이는, 1 개의 XML 엘리먼트, 텍스트 노드, 코멘트, 또는 처리 인스트럭션입니다.

반환값
XMLList — XML object의 아이의 XMLList object입니다.

See also


Example
이 예에서는,children() Methods의 사용법을 나타냅니다.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML = 
        <foo id="22">
            <bar>44</bar>
            text
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml.children(). length()); // 4
trace(xml.children()[0]. toXMLString()); // <bar>44</bar>
trace(xml.children()[1]. toXMLString()); // text
trace(xml.children()[2]. toXMLString()); // <! -- comment -->
trace(xml.children()[3]. toXMLString()); // <? instruction ? >

comments()Methods 
AS3 function comments():XMLList

XML 코멘트를 가지는 XML object의 property를 열거합니다.

반환값
XMLList — 코멘트를 가지는 property의 XMLList object입니다.

See also


Example
이 예에서는,comments() Methods의 사용법을 나타냅니다.
XML.ignoreComments = false;
var xml:XML = 
        <foo>
            <! -- example -->
            <! -- example2 -->
        </foo>;
trace(xml.comments(). length()); // 2
trace(xml.comments()[1]. toXMLString()); // <! -- example2 -->

contains()Methods 
AS3 function contains(value:XML ):Boolean

XML object와 지정된 value Parameters를 비교합니다.

Parameters
value:XML — 현재의 XML object와 비교하는 값입니다.

반환값
Boolean — XML object가 value Parameters에 일치하는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.

See also


Example
이 예에서는,contains() Methods의 사용법을 나타냅니다.
var xml:XML = 
        <order>
            <item>Rice</item>
            <item>Kung Pao Shrimp</item>
        </order>;
trace(xml.item[0]. contains(<item>Rice</item>)); // true
trace(xml.item[1]. contains(<item>Kung Pao Shrimp</item>)); // true
trace(xml.item[1]. contains(<item>MSG</item>)); // false

copy()Methods 
AS3 function copy():XML

지정된 XML object의 복사를 돌려줍니다. 복사와는 노드의 트리 전체의 복제입니다. 복사된 XML object에는 부모는 없고,parent() Methods를 호출하려고 하면 null 가 돌려주어집니다.

반환값
XML — object의 복사입니다.

See also


Example
이 예로,copy() Methods는 XML object의 새로운 인스턴스를 작성합니다. 복사를 수정해도, 원의 object는 변경되지 않습니다.
var xml1:XML = <foo />;
var xml2:XML = xml1.copy();
xml2.appendChild(<bar />);
trace(xml1.bar.length()); // 0
trace(xml2.bar.length()); // 1

defaultSettings()Methods 
AS3 static function defaultSettings():Object

property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 를 디폴트치로 설정한 object를 돌려줍니다. 디폴트치는 다음과 같습니다.

메모: 이 Methods는 XML 클래스의 인스턴스에는 적용하지 않습니다. var df:Object = XML.defaultSettings() 와 같이,XML 에 적용합니다.

반환값
Object — property를 디폴트치로 설정한 object입니다.

See also


Example
다음의 예는, XML object를 설정하기 전에, 코멘트 및 처리 인스트럭션을 배치하는 custom 설정을 적용하는 방법, 다른 XML object를 설정하기 전에 디폴트 설정에 되돌리는 방법, 한층 더 다른 XML object의 설정을 위해서(때문에) 재차 custom 설정을 적용하는 방법을 나타내고 있습니다.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <! -- comment -->
//         <? instruction ? >
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml2.toXMLString());

descendants()Methods 
AS3 function descendants(name:Object = *):XMLList

지정된 name Parameters를 가지는 XML object의 모든 자손 (자, 손자, 히 손자등)을 돌려줍니다. name Parameters는 옵션입니다. name Parameters에는, QName object, String 데이터형, 또는 다른 임의의 데이터형 (다음에 String 데이터형에 변환됩니다)을 지정할 수 있습니다.

모든 자손을 돌려주려면 ,"*" Parameters를 사용합니다. Parameters를 지정하지 않는 경우는 string "*" 가 건네받아 XML object의 모든 자손이 돌려주어집니다.

Parameters
name:Object (default = *) — 조합하는 엘리먼트의 이름입니다.

반환값
XMLList — 일치하는 자손의 XMLList object입니다. 자손이 없는 경우는, empty의 XMLList object를 돌려줍니다.

See also


Example
ActionScript 의 예약어(reserved word)에 일치하는 이름의 자손을 돌려주려면 , 자손 연산자 (..)(이)가 아니고, 다음의 예의 같게 descendants() Methods를 사용합니다.
var xml:XML = 
  <enrollees>
    <student id="239">
        <class name="Algebra" />
        <class name="Spanish 2"/>
    </student>
    <student id="206">
        <class name="Trigonometry" />
        <class name="Spanish 2" />
    </student>
  </enrollees>
trace(xml.descendants("class"));

다음의 예로,descendants() Methods는, 아이, 손자등의모두의 자손 object를 포함한 XMLList object를 돌려주고 있습니다.
XML.ignoreComments = false;
var xml:XML = 
        <body>
            <! -- comment -->
            text1
            <a>
                <b>text2</b>
            </a>
        </body>;
trace(xml.descendants("*"). length()); // 5
trace(xml.descendants("*")[0]); // // <! -- comment -->
trace(xml.descendants("*")[1]. toXMLString()); // text1
trace(xml.descendants("a"). toXMLString()); // <a><b>text2</b></a>
trace(xml.descendants("b"). toXMLString()); // <b>text2</b>

elements()Methods 
AS3 function elements(name:Object = *):XMLList

XML object의 엘리먼트를 열거합니다. 엘리먼트는,<first></first> 와 같이 개시 태그와 종료 태그로 구성됩니다. name Parameters는 옵션입니다. name Parameters에는, QName object, String 데이터형, 또는 다른 임의의 데이터형 (다음에 String 데이터형에 변환됩니다)을 지정할 수 있습니다. name Parameters는, 특정의 엘리먼트의 열거에 사용합니다. 예를 들어,<first>John</first> 에서는, 엘리먼트 "first" 는 "John" 를 돌려줍니다.

모든 엘리먼트를 열거하려면 , Parameters에 asterisk (*)를 사용합니다. asterisk는 디폴트 패러미터이기도 합니다.

엘리먼트의 총수를 출력하려면 , asterisk Parameters와 함께 length() Methods를 사용합니다. 예를 들어,numElement = addressbook.elements("*"). length() 가 됩니다.

Parameters
name:Object (default = *) — 엘리먼트의 이름입니다. 엘리먼트의 이름은 산괄호로 둘러싸여 있습니다. 예를 들어,<first></first>name 는 "first" 입니다.

반환값
XMLList — 엘리먼트의 내용의 XMLList object입니다. 엘리먼트의 내용은 개시 태그와 종료 태그로 둘러싸입니다. 모든 엘리먼트의 호출로 asterisk (*)를 사용하면, 엘리먼트의 태그와 내용의 양쪽 모두를 돌려줍니다.

See also


Example
다음의 예에서는,elements() Methods는, 코멘트, 텍스트 property, 또는 처리 인스트럭션은 돌려주지 않고 , 엘리먼트의 리스트만을 돌려주고 있습니다.
var xml:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
            text
            <a>1</a>
            <b>2</b>
        </foo>;
trace(xml.elements("*"). length()); // 2
trace(xml.elements("*")[0]. toXMLString()); // <a>1</a>
trace(xml.elements("b"). length()); // 1
trace(xml.elements("b")[0]. toXMLString()); // <b>2</b>

ActionScript 의 예약어(reserved word)에 일치하는 이름의 엘리먼트를 돌려주려면 , XML 닷 (. ) 연산자가 아니고,elements() Methods를 다음의 예의 같게 사용합니다.
var xml:XML =
 <student id="206">
    <class name="Trigonometry" />
    <class name="Spanish 2" />
 </student>
trace(xml.elements("class"));

hasComplexContent()Methods 
AS3 function hasComplexContent():Boolean

XML object에 복합 내용이 포함될지 어떨지를 확인합니다. child 엘리먼트를 가지는 경우, XML object에는 복합 내용이 포함됩니다. 속성, 코멘트, 처리 인스트럭션, 및 텍스트 노드를 나타내는 XML object는 복합 내용을 가지지 않습니다. 다만, 이것들을포함한object에서도, child 엘리먼트를 가지는 경우는, 복합 내용을 포함하고 있다고 보여집니다.

반환값
Boolean — XML object에 복합 내용이 포함되는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.

See also


Example
다음의 예는, 단순 내용을 포함한 a 라는 이름의 1 개의 property와 복합 내용을 포함한 a 라는 이름의 1 개의 property를 가지는 XML object를 나타내고 있습니다.
var xml:XML = 
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0]. hasComplexContent()); // false
trace(xml.a[1]. hasComplexContent()); // true

trace(xml.a[0]. hasSimpleContent()); // true
trace(xml.a[1]. hasSimpleContent()); // false

hasOwnProperty()Methods 
AS3 function hasOwnProperty(p:String ):Boolean

object에 p Parameters로 지정된 property가 있을지 어떨지를 확인합니다.

Parameters
p:String — 조합하는 property입니다.

반환값
Boolean — Parameters가 존재하는 경우는 true, 그 이외는 false 를 돌려줍니다.

See also


Example
다음의 예에서는, property (item)를 평가하기 전에,hasOwnProperty() Methods를 사용해, 이 property가 존재하는 것을 이 property가 존재하는 것을 확인합니다.
var xml:XML = 
        <foo>
            <a />
            <a>
                <b>10</b>
            </a>
            <a>
                <b>11</b>
            </a>
        </foo>;
trace(xml.a. (hasOwnProperty("b") && b == "11")); 
이 예의 마지막 행이 다음과 같이 기술되고 있으면,a 라는 이름의 최초의 엘리먼트에 b 라는 이름의 property가 존재하지 않기 때문에, Flash Player 는 예외를 슬로우 합니다.

trace(xml.a. (b == "11"));



다음의 예에서는, property (item)를 사용하는 식 (item.contains("toothbrush"))를 평가하기 전에,hasOwnProperty() Methods를 사용해, 이 property가 존재하는 것을 확인합니다.
var xml:XML = 
        <orders>
            <order id='1'>
                <item>toothbrush</item>
                <item>toothpaste</item>
            </order>
            <order>
                <returnItem>shoe polish</returnItem>
            </order>
        </orders>;
trace(xml.order. (hasOwnProperty("item") && item.contains("toothbrush")));

hasSimpleContent()Methods 
AS3 function hasSimpleContent():Boolean

XML object에 단순 내용이 포함될지 어떨지를 확인합니다. XML object가 child 엘리먼트를 가지지 않는 텍스트 노드, 속성 노드, 또는 XML 엘리먼트를 나타내는 경우에는, 이 object에는 단순 내용이 포함됩니다. 코멘트 및 처리 인스트럭션을 나타내는 XML object에는 단순 내용은포함되지 않습니다.

반환값
Boolean — XML object에 단순 내용이 포함되는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.

See also


Example
다음의 예는, 단순 내용을 포함한 a 라는 이름의 1 개의 property와 복합 내용을 포함한 a 라는 이름의 1 개의 property를 가지는 XML object를 나타내고 있습니다.
var xml:XML = 
        <foo>
            <a>
                text
            </a>
            <a>
                <b/>
            </a>
        </foo>;
trace(xml.a[0]. hasComplexContent()); // false
trace(xml.a[1]. hasComplexContent()); // true

trace(xml.a[0]. hasSimpleContent()); // true
trace(xml.a[1]. hasSimpleContent()); // false

inScopeNamespaces()Methods 
AS3 function inScopeNamespaces():Array

object의 부모에 근거해, XML object의 namespace를 열거합니다.

반환값
Array — Namespace object의 배열입니다.

See also

insertChildAfter()Methods 
AS3 function insertChildAfter(child1:Object , child2:Object ):*

지정된 child2 Parameters를, 이 XML object의 child1 Parameters의 뒤에 삽입해, 그 결과의 object를 돌려줍니다. child1 Parameters가 null 의 경우, 이 Methods는 XML object의 모든 아이의, 즉선두child2 의 내용을 삽입합니다. child1 를 지정해, 이것이 XML object에 존재하지 않는 경우, XML object를 변경하지 않고,undefined 를 돌려줍니다.

텍스트, 속성, 코멘트, 파이등의 엘리먼트가 아닌 XML 의 아이에 대해서 이 Methods를 호출하면,undefined 를 돌려줍니다.

XML 노드를 삭제하려면 ,delete (XML) 연산자를 사용합니다.

Parameters
child1:Object child2 의 전에 삽입하는 소스 object내의 object입니다.
 
child2:Object — 삽입하는 object입니다.

반환값
* — 결과적으로 작성되는 XML object 또는 undefined 입니다.

See also


Example
다음의 예에서는, XML object의 child 엘리먼트의 마지막에 엘리먼트를 추가합니다.
var xml:XML = 
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildAfter(xml.item[0], <saleItem>fries</saleItem>);
trace(xml);
trace() 의 출력은 다음과 같습니다.
 <menu>
      <item>burger</item>
      <saleItem>fries</saleItem>
      <item>soda</item>
  </menu>


insertChildBefore()Methods 
AS3 function insertChildBefore(child1:Object , child2:Object ):*

지정된 child2 Parameters를, 이 XML object의 child1 Parameters의 전에 삽입해, 그 결과의 object를 돌려줍니다. child1 Parameters가 null 의 경우, 이 Methods는 XML object의 모든 아이의, 즉최후child2 의 내용을 삽입합니다. child1 를 지정해, 이것이 XML object에 존재하지 않는 경우, XML object를 변경하지 않고,undefined 를 돌려줍니다.

텍스트, 속성, 코멘트, 파이등의 엘리먼트가 아닌 XML 의 아이에 대해서 이 Methods를 호출하면,undefined 를 돌려줍니다.

XML 노드를 삭제하려면 ,delete (XML) 연산자를 사용합니다.

Parameters
child1:Object child2 의 뒤에 삽입하는 소스 object내의 object입니다.
 
child2:Object — 삽입하는 object입니다.

반환값
* — 결과적으로 작성되는 XML object 또는 undefined 입니다.

See also


Example
다음의 예에서는, XML object의 child 엘리먼트의 마지막에 엘리먼트를 추가합니다.
var xml:XML = 
        <menu>
            <item>burger</item>
            <item>soda</item>
        </menu>;
xml.insertChildBefore(xml.bar[0], <saleItem>fries</saleItem>);
trace(xml);
trace() 의 출력은 다음과 같습니다.
<menu>
      <saleItem>fries</saleItem>
      <item>burger</item>
      <item>soda</item>
  </menu>


length()Methods 
AS3 function length():int

XML object의 경우, 이 Methods는 항상 정수 1 을 돌려줍니다. XMLList 클래스의 length() Methods는, 1 개의 값만을 포함한 XMLList object의 값 1 을 돌려줍니다.

반환값
int — 어떠한 XML object에 대해서도, 항상 1 을 돌려줍니다.

See also

localName()Methods 
AS3 function localName():Object

XML object의 수식명의 로컬명 부분을 지정합니다.

반환값
Object — String 또는 null 의 몇개의 로컬명입니다.

See also


Example
다음의 예는,localName() Methods의 사용법을 나타내고 있습니다.
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
trace(xml.localName()); // Envelope

name()Methods 
AS3 function name():Object

XML object의 수식명을 지정합니다.

반환값
Object — 수식명에는, QName 또는 null 의 어느쪽이든을 지정합니다.

See also


Example
다음의 예는,name() Methods를 사용해 XML object의 수식명을 취득하는 방법을 나타내고 있습니다.
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
trace(xml.name(). localName); // Envelope
trace(xml.name(). uri); // "http://www.w3.org/2001/12/soap-envelope"

다음의 예는, XML property, 텍스트 엘리먼트, 및 속성에 대해서 호출하는 name() Methods의 사용법을 나타내고 있습니다.
var xml:XML = 
        <foo x="15" y="22">
            text
        </foo>;
        
trace(xml.name(). localName); // foo
trace(xml.name(). uri == ""); // true
trace(xml.children()[0]); // text
trace(xml.children()[0]. name()); // null
trace(xml.attributes()[0]); // 15
trace(xml.attributes()[0]. name()); // x

namespace()Methods 
AS3 function namespace(prefix:String = null):*

Parameters를 지정하지 않는 경우, 이 XML object의 수식명에 관련지을 수 있고 있는 namespace를 지정합니다. prefix Parameters로 지정했을 경우,prefix Parameters에 일치해, XML object의 범위(scope)내에 있는 namespace를 돌려줍니다. 이러한 조건에 일치하는 namespace가 없었던 경우, Methods는 undefined 를 돌려줍니다.

Parameters
prefix:String (default = null) — 조합하는 접두사입니다.

반환값
* null,undefined, 또는 namespace를 돌려줍니다.

See also


Example
다음의 예에서는,namespace() Methods를 사용해, XML object의 namespace를 취득해, 이것을 soap 라는 이름의 Namespace object에 할당하는 방법을 나타내고 있습니다. 이 Namespace object는, 이 후, 다음에 나타내는 xml object의 property의 식별로 사용됩니다. (xml.soap::Body[0]):
var xml:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

                        <soap:Body xmlns:wx = "http://example.com/weather">
                <wx:forecast>
                    <wx:city>Quito</wx:city>
                </wx:forecast>
            </soap:Body>
        </soap:Envelope>;
        
var soap:Namespace = xml.namespace();
trace(soap.prefix); // soap
trace(soap.uri); // http://www.w3.org/2001/12/soap-envelope

var body:XML = xml.soap::Body[0];
trace(body.namespace(). prefix); // soap
trace(xml.namespace(). uri); // http://www.w3.org/2001/12/soap-envelope
trace(body.namespace("wx"). uri); // "http://example.com/weather"

다음의 예에서는,namespace() Methods를 사용해, 노드의 디폴트의 namespace과 특정의 접두사 ("dc")의 namespace를 취득하는 방법을 나타내고 있습니다.
var xml:XML = 
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
            xmlns:dc="http://purl.org/dc/elements/1. 1/" 
            xmlns="http://purl.org/rss/1. 0/">
                <! -- ... -->
        </rdf:RDF>;
                    
trace(xml.namespace()); // http://www.w3.org/1999/02/22-rdf-syntax-ns#
trace(xml.namespace("dc")); // http://purl.org/dc/elements/1. 1/
trace(xml.namespace("foo")); // undefined

namespaceDeclarations()Methods 
AS3 function namespaceDeclarations():Array

부모의 문맥으로 XML object에 관련지을 수 있고 있는 namespace 선언을 열거합니다.

반환값
Array — Namespace object의 배열입니다.

See also


Example
다음의 예는, XML object의 namespace 선언의 출력을 가리키고 있습니다.
var xml:XML = 
        <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
            xmlns:dc="http://purl.org/dc/elements/1. 1/" 
            xmlns="http://purl.org/rss/1. 0/">

            <! -- ... -->
            
        </rdf:RDF>;
                    
for (var i:uint = 0; i < xml.namespaceDeclarations(). length; i++) {
    var ns:Namespace = xml.namespaceDeclarations()[i]; 
    var prefix:String = ns.prefix;
    if (prefix == "") {
        prefix = "(default)";
    }
    trace(prefix + ":" , ns.uri);
}
trace() 의 출력은 다음과 같습니다.
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
 dc: http://purl.org/dc/elements/1. 1/
 (default): http://purl.org/rss/1. 0/


nodeKind()Methods 
AS3 function nodeKind():String

노드의 타입을 지정합니다. 텍스트, 코멘트, 처리 인스트럭션, 속성, 또는 엘리먼트의 머지않아인가입니다.

반환값
String — 사용하는 노드 타입입니다.

See also


Example
이 예에서는, 5 개의 모든 노드 타입을 트레이스 합니다.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;

var xml:XML = 
    <example id="10">
        <! -- this is a comment -->
        <? test this is a pi ? >
        and some text
    </example>;

trace (xml.nodeKind()); // element
trace (xml.children()[0]. nodeKind()); // comment
trace (xml.children()[1]. nodeKind()); // processing-instruction
trace (xml.children()[2]. nodeKind()); // text
trace (xml. @id[0]. nodeKind()); // attribute

normalize()Methods 
AS3 function normalize():XML

XML object와 모든 자손의 XML object에 대해, 인접하는 텍스트 노드를 결합해, empty의 텍스트 노드를 삭제합니다.

반환값
XML — 결과적으로 작성되는, 정규화된 XML object입니다.

See also


Example
다음의 예는,normalize() Methods의 호출에 의한 영향을 나타내고 있습니다.
var xml:XML = <body></body>;
xml.appendChild("hello");
xml.appendChild(" world");
trace(xml.children(). length()); // 2
xml.normalize();
trace(xml.children(). length()); // 1

parent()Methods 
AS3 function parent():*

XML 오브제크의 부모를 돌려줍니다. XML object에 부모가 없는 경우, Methods는,undefined 를 돌려줍니다.

반환값
* — 친 XML object입니다. String 또는 undefined 의 어느쪽이든을 돌려줍니다.

See also


Example
다음의 예에서는,parent() Methods를 사용해, XML 구조내의 특정 엘리먼트의 친엘리먼트를 식별합니다.
var xml:XML = 
    <body>
        <p id="p1">Hello</p>
        <p id="p2">Test:
            <ul>
                <li>1</li>
                <li>2</li>
            </ul>
        </p>
    </body>;
var node:XML = xml.p.ul. (li.contains("1"))[0]; // == <ul> ... </ul>
trace(node.parent(). @id); // p2

prependChild()Methods 
AS3 function prependChild(value:Object ):XML

지정된 child object의 복사를, 이 엘리먼트내의 기존의 모든 XML property의 전에 삽입합니다.

XML 노드를 삭제하려면 ,delete (XML) 연산자를 사용합니다.

Parameters
value:Object — 삽입하는 object입니다.

반환값
XML — 결과적으로 작성되는 XML object입니다.

See also


Example
다음의 예에서는,prependChild() Methods를 사용해, XML object의 child 리스트의 선두에 엘리먼트를 추가합니다.
var xml:XML = 
        <body>
            <p>hello</p>
        </body>;
        
xml.prependChild(<p>world</p>);    
trace(xml.p[0]. toXMLString()); // <p>world</p>
trace(xml.p[1]. toXMLString()); // <p>hello</p>

processingInstructions()Methods 
AS3 function processingInstructions(name:String = "*"):XMLList

name Parameters를 지정했을 경우, 그 name 를 가지는 처리 인스트럭션을 포함한 XML object의 모든 아이를 열거합니다. Parameters를 지정하지 않았던 경우, Methods는 임의의 처리 인스트럭션을 포함한 XML object의 모든 아이를 열거합니다.

Parameters
name:String (default = "*") — 조합하는 처리 인스트럭션의 이름입니다.

반환값
XMLList — 일치하는 child object의 리스트입니다.

See also


Example
다음의 예에서는,processingInstructions() Methods를 사용해, XML object의 처리 인스트럭션의 배열을 취득합니다.
XML.ignoreProcessingInstructions = false;
var xml:XML =
    <body>
            foo
            <? xml-stylesheet href="headlines.css" type="text/css" ? >
            <? instructionX ? >
            
    </body>;

trace(xml.processingInstructions(). length()); // 2
trace(xml.processingInstructions()[0]. name()); // xml-stylesheet

propertyIsEnumerable()Methods 
AS3 function propertyIsEnumerable(p:String ):Boolean

XML object에 적용되는 for..in 명령문(statement)내에서 반복 처리되는 property 세트내에, property p 가 있을지 어떨지를 확인합니다. toString(p) == "0" 의 경우에게만,true 를 돌려줍니다.

Parameters
p:String — 체크하는 property입니다.

반환값
Boolean for..in 명령문(statement)내에서 property를 반복 처리할 수 있는 경우는 true, 그 이외의 경우는 false 를 돌려줍니다.

See also


Example
다음의 예로,propertyNameIsEnumerable() Methods는, XML object의 경우는, 값 0 에 대해서만 값 true 를 돌려주어, XMLList object의 경우는, 유효한 각 인덱스치에 대해서 값 true 를 돌려줍니다.
var xml:XML = 
        <body>
             <p>Hello</p>
               <p>World</p>
        </body>;

trace(xml.propertyIsEnumerable(0)); // true
trace(xml.propertyIsEnumerable(1)); // false

for (var propertyName:String in xml) {
    trace(xml[propertyName]);
}

var list:XMLList = xml.p;
trace(list.propertyIsEnumerable(0)); // true
trace(list.propertyIsEnumerable(1)); // true
trace(list.propertyIsEnumerable(2)); // false

for (var propertyName:String in list) { 
    trace(list[propertyName]);
}

removeNamespace()Methods 
AS3 function removeNamespace(ns:Namespace ):XML

이 object와 모든 자손으로 지정된 namespace를 삭제합니다. namespace가 object의 수식명 또는 object의 속성의 수식명에 의해 참조되고 있는 경우,removeNamespaces() Methods는 namespace를 삭제하지 않습니다.

Parameters
ns:Namespace — 삭제하는 namespace입니다.

반환값
XML — 결과적으로 작성되는 XML object의 복사입니다.

See also


Example
다음의 예는, XML object로부터 namespace 선언을 삭제하는 방법을 가리키고 있습니다.
var xml:XML = 
    <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
        xmlns:dc="http://purl.org/dc/elements/1. 1/" 
        xmlns="http://purl.org/rss/1. 0/">
    
        <! -- ... -->
        
    </rdf:RDF>;

trace(xml.namespaceDeclarations(). length); // 3
trace(xml.namespaceDeclarations()[0] is String); // 
var dc:Namespace = xml.namespace("dc");
xml.removeNamespace(dc);
trace(xml.namespaceDeclarations(). length); // 2

replace()Methods 
AS3 function replace(propertyName:Object , value:XML ):XML

propertyName Parameters로 지정된 property를, 지정된 value Parameters에 옮겨놓습니다. propertyName 에 일치하는 property가 없는 경우, XML object는 변경되지 않습니다.

Parameters
propertyName:Object — 수치, XML 엘리먼트 세트의 무수식명, XML 엘리먼트 세트의 수식명, 또는 asterisk 와일드 카드 ("*")를 사용할 수 있습니다. 무수식명은, 디폴트의 namespace내에서의 XML 엘리먼트의 식별로 사용합니다.
 
value:XML — 값환하는 값입니다. 이 값에는, XML object, XMLList object, 또는 toString() 로 변환 가능한 값을 사용할 수 있습니다.

반환값
XML — 일치하는 property를 옮겨놓을 수 있던, 결과적으로 작성되는 XML object입니다.

See also


Example
다음의 예에서는, 최초의 Parameters에 QName 를 지정해 replace() Methods를 호출합니다.
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace(1, <p>Bob</p>);
trace(xml);
trace() 의 출력 결과는 다음과 같습니다.

 <body>
     <p>Hello</p>
     <p>Bob</p>
     <hr/>
 </body>
 


다음의 예에서는, 최초의 Parameters에 string를 지정해 replace() Methods를 호출합니다.
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("p", <p>Hi</p>); 
trace(xml);
trace() 의 출력 결과는 다음과 같습니다.

 <body>
     <p>Hi</p>
     <hr/>
 </body>;
 


다음의 예에서는, 최초의 Parameters에 QName 를 지정해 replace() Methods를 호출합니다.
var xml:XML = 
    <ns:body xmlns:ns = "myNS">
        <ns:p>Hello</ns:p>
        <ns:p>World</ns:p>
        <hr/>
    </ns:body>;

var qname:QName = new QName("myNS", "p");
xml.replace(qname, <p>Bob</p>);
trace(xml);

trace() 의 출력 결과는 다음과 같습니다.

 <ns:body xmlns:ns = "myNS">
     <p>Bob</p>
     <hr/>
 </ns:body>
 


다음의 예에서는, 최초의 Parameters에 QName 를 지정해 replace() Methods를 replace() Methods를 호출합니다.
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
        <hr/>
    </body>;

xml.replace("*", <img src = "hello.jpg"/>);
trace(xml);
trace() 의 출력 결과는 다음과 같습니다.

 <body>
     <img src="hello.jpg"/>
 </body>
 


setChildren()Methods 
AS3 function setChildren(value:Object ):XML

XML object의 child property를,value Parameters로 지정된 XML property세트에 옮겨놓습니다.

Parameters
value:Object — 옮겨놓아에 사용하는 XML property입니다. 단일의 XML object, 또는 XMLList object로 할 수 있습니다.

반환값
XML — 결과적으로 작성되는 XML object입니다.

See also


Example
다음의 예에서는, Parameters에 XML object를 지정해, 다음에, Parameters에 XMLList object를 사용해, setChildren() Methods를 호출합니다.
var xml:XML = 
    <body>
        <p>Hello</p>
        <p>World</p>
    </body>;

var list:XMLList = xml.p;

xml.setChildren(<p>hello</p>);
trace(xml);

//    <body>
//        <p>hello</p>
//    </body>

xml.setChildren(list);
trace(xml);

//    <body>
//        <p>Hello</p>
//        <p>World</p>
//    </body>

setLocalName()Methods 
AS3 function setLocalName(name:String ):void

XML object의 로컬명을, 지정된 name Parameters로 변경합니다.

Parameters
name:String — 로컬명에 옮겨놓는 이름입니다.

See also


Example
다음의 예에서는,setLocalName() Methods를 사용해, XML 엘리먼트의 로컬명을 변경합니다.
var xml:XML = 
    <ns:item xmlns:ns="http://example.com">
        toothbrush
    </ns:item>;
    
xml.setLocalName("orderItem");
trace(xml.toXMLString()); // <ns:orderItem xmlns:ns="http://example.com">toothbrush</ns:orderItem>

setName()Methods 
AS3 function setName(name:String ):void

XML object의 이름을, 지정된 수식명 또는 속성명으로 설정합니다.

Parameters
name:String — object의 새로운 이름입니다.

See also


Example
다음의 예에서는,setName() Methods를 사용해, XML 엘리먼트의 이름을 변경합니다.
var xml:XML = 
    <item>
        toothbrush
    </item>;
    
xml.setName("orderItem");
trace(xml.toXMLString()); // <orderItem>toothbrush</orderItem>

setNamespace()Methods 
AS3 function setNamespace(ns:Namespace ):void

XML object에 관련지을 수 있고 있는 namespace를 설정합니다.

Parameters
ns:Namespace — 새로운 namespace입니다.

See also


Example
다음의 예에서는, 어느 XML object에 정의되고 있는 soap namespace를 사용해, 다른 XML object xml2 에 적용합니다.
var xml1:XML = 
        <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
            soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
            <! -- ... -->
        </soap:Envelope>;
var ns:Namespace = xml1.namespace("soap");

var xml2:XML = 
    <Envelope>
        <Body/>
    </Envelope>;
    
xml2.setNamespace(ns);

trace(xml2);

setSettings()Methods 
AS3 static function setSettings(... rest):void

XML property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 의 값을 설정합니다. 디폴트 설정은 다음과 같습니다. 디폴트 설정은,setObj Parameters가 지정되어 있지 않은 경우에 적용됩니다.

메모:이 Methods는 XML 클래스의 인스턴스에는 적용하지 않습니다. XML.setSettings() 와 같이,XML 에 적용합니다.

Parameters
... rest — 다음의 각 property를 가지는 object입니다.
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

See also


Example
다음의 예는, XML object를 설정하기 전에, 코멘트 및 처리 인스트럭션을 배치하는 custom 설정을 적용하는 방법, 다른 XML object를 설정하기 전에 디폴트 설정에 되돌리는 방법, 한층 더 다른 XML object의 설정을 위해서(때문에) 재차 custom 설정을 적용하는 방법을 나타내고 있습니다.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <! -- comment -->
//         <? instruction ? >
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml2.toXMLString());

settings()Methods 
AS3 static function settings():Object

property ignoreComments,ignoreProcessingInstructions,ignoreWhitespace,prettyIndent, 및 prettyPrinting 를 취득합니다.

반환값
Object — 다음의 XML property를 가지는 object입니다.
  • ignoreComments
  • ignoreProcessingInstructions
  • ignoreWhitespace
  • prettyIndent
  • prettyPrinting

See also


Example
다음의 예는, XML object를 설정하기 전에, 코멘트 및 처리 인스트럭션을 배치하는 custom 설정을 적용하는 방법, 다른 XML object를 설정하기 전에 디폴트 설정에 되돌리는 방법, 한층 더 다른 XML object의 설정을 위해서(때문에) 재차 custom 설정을 적용하는 방법을 나타내고 있습니다.
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var customSettings:Object = XML.settings();

var xml1:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml1.toXMLString());
//    <foo>
//        <! -- comment -->
//         <? instruction ? >
//    </foo>

XML.setSettings(XML.defaultSettings());
var xml2:XML = 
        <foo>
            <! -- comment -->
            <? instruction ? >
        </foo>;
trace(xml2.toXMLString());

text()Methods 
AS3 function text():XMLList

XML 텍스트 노드를 나타내는 XML object의 모든 XML property의 XMLList object를 돌려줍니다.

반환값
XMLList — property의 리스트입니다.

See also


Example
다음의 예에서는,text() Methods를 사용해, XML object의 텍스트 노드를 취득합니다.
var xml:XML =
        <body>
            text1
            <hr/>
            text2
        </body>;
trace(xml.text()[0]); // text1
trace(xml.text()[1]); // text2

toString()Methods 
AS3 function toString():String

XML object의 string 표현을 돌려줍니다. 이 변환의 규칙은, XML object에 단순 내용이 포함되는지, 복합 내용이 포함될까에 의해 정해집니다.

XML object 전체를 매회 돌려주려면 ,toXMLString() 를 사용합니다.

반환값
String — XML object의 string 표현입니다.

See also


Example
다음의 예는, XML object에 복합 내용이 포함되는 경우에, toString() Methods가 무엇을 돌려주는지를 나타내고 있습니다.
var test:XML = <type name="Joe">example</type>;
trace(test.toString()); //example

다음의 예는, XML object에 복합 내용이 포함되는 경우에, toString() Methods가 무엇을 돌려주는지를 나타내고 있습니다.
var test:XML = 
<type name="Joe">
    <base name="Bob"></base>
    example
</type>;
trace(test.toString());
  // <type name="Joe">
  // <base name="Bob"/>
  // example
  // </type>

toXMLString()Methods 
AS3 function toXMLString():String

XML object의 string 표현을 돌려줍니다. toString() Methods와는 달라,toXMLString() Methods는, XML object에 단순 내용이 포함되는지, 복합 내용이 포함될까에 관계없이, 항상 XML object의 개시 태그, 속성, 및 종료 태그를 돌려줍니다. toString() Methods는, 단순 내용을 가지는 XML object의 개시 태그, 속성, 및 종료 태그를 삭제합니다.

반환값
String — XML object의 string 표현입니다.

See also


Example
다음의 예는, 디폴트로 trace() Methods의 모든 Parameters에 적용되는 toString() Methods를 사용하는 경우와 toXMLString() Methods를 사용하는 경우의 차이를 나타내고 있습니다.
var xml:XML =
        <p>hello</p>;
trace(xml); // hello
trace(xml.toXMLString()); // <p>hello</p>

valueOf()Methods 
AS3 function valueOf():XML

XML object를 돌려줍니다.

반환값
XML — XML 인스턴스의 원시적치입니다.

See also


Example
다음의 예는,valueOf() Methods가 돌려주는 값이, 소스의 XML object와 같은 것을 나타내고 있습니다.
var xml:XML = <p>hello</p>;
trace(xml.valueOf() === xml); // true

Examples

The following example first creates an XML variable and adds nodes to it. Then XML properties are used to find and print XML nodes. Notice that the "at" (@) symbol is used in several of the trace() calls to locate information by tag name.
package {
    import flash.display.Sprite;

    public class XmlExample extends Sprite {        
        public function XmlExample() {
            var employees:XML =
                <employees>
                    <employee ssn="123-123-1234">
                        <name first="John" last="Doe"/>
                        <address>
                            <street>11 Main St. </street>
                            <city>San Francisco</city>
                            <state>CA</state>
                            <zip>98765</zip>
                        </address>
                    </employee>
                    <employee ssn="789-789-7890">
                        <name first="Mary" last="Roe"/>
                        <address>
                            <street>99 Broad St. </street>
                            <city>Newton</city>
                            <state>MA</state>
                            <zip>01234</zip>
                        </address>
                    </employee>
                </employees>;

            trace(employees.employee[0]. address.zip);   // 98765

            trace(employees.employee[1]. @ssn);          // 789-789-7890

            trace(employees.employee.name);             // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees..zip[0]);                   // 98765

            trace(employees..@ssn[1]);                  // 789-789-7890

            trace(employees..name);                     // <name first="John" last="Doe"/>
                                                        // <name first="Mary" last="Roe"/>

            trace(employees.employee[0]. address. *);     // <street>11 Main St. </street>    
                                                        // <city>San Francisco</city>
                                                        // <state>CA</state>
                                                        // <zip>98765</zip>
            var node:String = "zip";
            trace(employees.employee[0]. address[node]); // 98765
            
            var attribute:String = "ssn";
            trace(employees.employee[1]. @[attribute]);  // 789-789-7890
            
            for each (var num:XML in employees..@ssn) {
                trace(num);                             // 123-123-1234
            }                                           // 789-789-7890
            
            var ssnToFind:String = "789-789-7890";
            trace(employees.employee. (@ssn == ssnToFind). toXMLString());
                                                        // <employee ssn="789-789-7890">
                                                        // <name first="Mary" last="Roe"/>
                                                        // <address>
                                                        // <street>99 Broad St. </street>
                                                        // <city>Newton</city>
                                                        // <state>MA</state>
                                                        // <zip>01234</zip>
                                                        // </address>
                                                        // </employee>
        }
    }
}






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/XML.html