Flex xml 节点添加删除
除一子:
var xml:XML =
<xml>
<node>1</node>
<node>2</node>
<node>3</node>
<node>4</node>
<node>5</node>
<node>6</node>
</xml>;
delete xml.*[0];
trace(xml.toXMLString());
delete xml.node[0];
trace(xml.toXMLString());
delete xml["node"][0];
trace(xml.toXMLString());
// Ticore's Blog - http://ticore.blogspot.com/
除全部子:
var xml:XML =
<xml>
<node>1</node>
<node>2</node>
<node>3</node>
<node>4</node>
<node>5</node>
<node>6</node>
</xml>;
delete xml.*;
trace(xml.toXMLString());
// Ticore's Blog - http://ticore.blogspot.com/
var xml:XML =
<xml>
<node>1</node>
<node>2</node>
<node>3</node>
<node>4</node>
<node>5</node>
<node>6</node>
</xml>;
delete xml["node"];
trace(xml.toXMLString());
用算子除所有 Text :
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML =
<xml>
<node>
<n />
<? ins ?>
text1
<node>text2</node>
</node>
text3
</xml>;
var texts:XMLList = xml..*.(nodeKind() == "text" ?
delete parent().*[childIndex()] : false);
trace(xml.toXMLString());
trace(texts.toXMLString());
// Ticore's Blog - http://ticore.blogspot.com/
利用 prototype function 除所有 Text :
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML =
<xml>
<node>
<n />
<? ins ?>
text
<node>text</node>
</node>
text
</xml>;
XML.prototype.process = function():void{
if (this.nodeKind() == "text") {
delete this.parent().*[this.childIndex()];
}
};
xml..*.(process());
trace(xml.toXMLString());
除第一、第二 Text 子:
XML.ignoreComments = false;
XML.ignoreProcessingInstructions = false;
var xml:XML =
<xml>
<node>
<n />
<? ins ?>
text
<node>text</node>
</node>
text
</xml>;
XML.prototype.process = function():void{
if (this.nodeKind() == "text") {
delete this.parent().*[this.childIndex()];
}
};
xml.*.(process());
xml.*.*.(process());
trace(xml.toXMLString());
From http://vsheyan.blog.163.com/blog/static/1038150682009218112248734/