第一、第一个子节点 firstChild属性: 下面这个示例演示firstChild属性的使用
var myXML:XML = new XML(); var myTextArea:mx.controls.TextArea; myXML.ignoreWhite=true; myXML.onLoad=function(success:Boolean):Void{ if(success){ myTextArea.text+=this; myTextArea.text+="\n\n----firstChild----\n\n"; myTextArea.text+=this.firstChild; myTextArea.text+="\n\n-firstChild.firstChild-\n\n"; myTextArea.text+=this.firstChild.firstChild; }else{ myTextArea.text="error"; } } myXML.load("goods.xml");
------------------------------------------------------------------------------------------
第二、最后一个节点 lastChild属性
var myXML:XML = new XML(); var myTextArea:mx.controls.TextArea; myXML.ignoreWhite=true; myXML.onLoad=function(success:Boolean):Void{ if(success){ myTextArea.text+=this; myTextArea.text+="\n\n----lastChild----\n\n"; myTextArea.text+=this.lastChild; myTextArea.text+="\n\n-lastChild.lastChild-\n\n"; myTextArea.text+=this.lastChild.lastChild; }else{ myTextArea.text="error"; } } myXML.load("goods.xml");
---------------------------------------------------------------------------------------------------
第三、兄弟节点 nextSibling 属性
/* 思路: 先定位到XML文件下的第一个“钢笔”节点,再继续寻找其他兄弟节点。 */ var myXML:XML = new XML(); myXML.ignoreWhite = true; var myTextArea:mx.controls.TextArea; myXML.onLoad = function(success:Boolean):Void { if (success) { //定位,用变量firstNode这个名称表示 myXML的第一个子节点,也就是首个"钢笔"节点 var firstNode = this.firstChild.firstChild; //显示这个钢笔节点 myTextArea.text += firstNode; //分隔符 myTextArea.text += "\n\n-------1----nextSibling--------------\n"; myTextArea.text += firstNode.nextSibling; myTextArea.text += "\n\n--------2---nextSibling.nextSibling--------------\n"; myTextArea.text += firstNode.nextSibling.nextSibling; myTextArea.text += "\n\n--------3---nextSibling.nextSibling.nextSibling--------------\n"; myTextArea.text += firstNode.nextSibling.nextSibling.nextSibling; myTextArea.text += "\n\n--------4---nextSibling.nextSibling.nextSibling--------------\n"; myTextArea.text += firstNode.nextSibling.nextSibling.nextSibling.nextSibling; } else { myTextArea.text = "error"; } }; myXML.load("goods.xml");
--------------------------------------------------------------------------------------------
第四、另一个兄弟节点 previousSibling 可以说previousSibling 是nextSibling的逆过程。只要把nextSibling弄懂。previousSibling就不是难题了。
var myXML:XML = new XML(); var myTextArea:mx.controls.TextArea; myXML.ignoreWhite = true; myXML.onLoad = function(success:Boolean):Void { if (success) { var lastNode = this.firstChild.lastChild; myTextArea.text += lastNode; //定位金额 myTextArea.text += "\n\n----previousSibling----\n"; myTextArea.text += lastNode.previousSibling; myTextArea.text += "\n\n-previousSibling.previousSibling-\n"; myTextArea.text += lastNode.previousSibling.previousSibling; myTextArea.text += "\n\n-previousSibling * 3-\n"; myTextArea.text += lastNode.previousSibling.previousSibling.previousSibling; myTextArea.text += "\n\n-previousSibling * 4-\n"; myTextArea.text += lastNode.previousSibling.previousSibling.previousSibling.previousSibling; } else { myTextArea.text = "error"; } }; myXML.load("goods.xml");
----------------------------------------------------------------------------------------------
第五、寻找父亲:parentNode 属性 它的标准写法是 myXML.parentNode. 我们先定位一个节点,金额。然后找父节点。
var myXML:XML = new XML(); myXML.ignoreWhite = true; var myTextArea:mx.controls.TextArea; myXML.onLoad = function(success:Boolean):Void { if (success) { var fir_Node = this.firstChild.firstChild; myTextArea.text = fir_Node.parentNode.toString();
} else { myTextArea.text = "error"; } }; myXML.load("goods.xml");
在本节中我们接触到了toString()函数
第六、类型的转化 toString() 函数 它的作用是把XML对象转化为字符串类型。在动态文本和很多V2组件中是无法显示XML类型节点值的,必须先把这个函数转化为文本才行。
----------------------------------------------------------------------------------------------
第七、开始创造 createlement 函数。 Flash内置的XML类不仅可以可以读取XML文档,也可以在内部创建XML对象。 createlement的标准写法是 myXML.createlement("节点值"); 如下例:
var myXML:XML=new XML(); var elem_1:XMLNode=myXML.createlement("文具类"); var elem_2:XMLNode=myXML.createlement("食品类"); var elem_3:XMLNode=myXML.createlement("饮料类"); myTextArea.text=myXML.toString(); /*这里按回车无任何显示,原因是我们创建了节点但,并没有附加到myXML对象上*/
----------------------------------------------------------------------------------------------
|