?? basicxmloperation.as
字號:
package org.kingda.book.xml
{
import flash.display.Sprite;
public class BasicXMLOperation extends Sprite
{
private var kingdaXML:XML
function BasicXMLOperation() {
kingdaXML=
<websites>
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>100000</pageview>
</site>
<site name="ActionScript 3" url="http://www.actionscript3.cn/"/>
</websites>
//訪問示例
//accessSample();
//修改示例
//modifySample();
//添加和刪除示例
//addAndRemoveSample();
searchSample();
}
private function searchSample():void {
kingdaXML =
<websites>
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>150000</pageview>
<child name="Kingda’s flash blog" url="http://www.kingda.org/blog/">
<pageview>100000</pageview>
</child>
</site>
<site name="ActionScript 3" url="http://www.actionscript3.cn/">
<pageview>50000</pageview>
</site>
</websites>
// trace (kingdaXML..pageview);
/*
輸出:
<pageview>150000</pageview>
<pageview>100000</pageview>
<pageview>50000</pageview>
*/
// trace (kingdaXML.site.@*.toXMLString());
/*
輸出:
Kingda’s blog
http://www.kingda.org/
ActionScript 3
http://www.actionscript3.cn/
*/
// trace (kingdaXML.site.(pageview <100000));
/*
輸出:
<site name="ActionScript 3" url="http://www.actionscript3.cn/">
<pageview>50000</pageview>
</site>
*/
// trace (kingdaXML.site.(@name == "ActionScript 3"));
/*
輸出:
<site name="ActionScript 3" url="http://www.actionscript3.cn/">
<pageview>50000</pageview>
</site>
*/
trace (kingdaXML.site.(check(pageview)));
/*
輸出:
<site name="ActionScript 3" url="http://www.actionscript3.cn/">
<pageview>50000</pageview>
</site>
*/
trace (kingdaXML.site.(pageview.match(/^5\d+/)));
/*
輸出:
<site name="ActionScript 3" url="http://www.actionscript3.cn/">
<pageview>50000</pageview>
</site>
*/
}
private function check(t:*):Boolean {
trace (t is XMLList);
trace (t.length());
if (t <100000) return true;
return false;
}
private function modifySample():void {
//kingdaXML.site.pageview = 324;
/*
運行時錯誤: TypeError: Error #1089: 不支持對包含多個項目的列表進行賦值。
*/
trace (kingdaXML.site.pageview is XMLList);
kingdaXML.site[0].pageview = 200000;
trace (kingdaXML.site[0]);
/*
輸出:
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>200000</pageview>
</site>
*/
kingdaXML.site[0].@name = "Kingda's first blog";
trace (kingdaXML.site[0]);
/*
輸出:
<site name="Kingda's first blog" url="http://www.kingda.org/">
<pageview>200000</pageview>
</site>
*/
}
private function addAndRemoveSample():void {
//添加一個空白節(jié)點
kingdaXML.site[0].author = new XML();
//以字符串添加一個子節(jié)點
kingdaXML.site[0].location = "Hangzhou, China";
//用數(shù)組添加一個子節(jié)點
kingdaXML.site[0].weekvisit = [1000,2000,3000, 4000];
//添加一個屬性
kingdaXML.site[0].@language = "Chinese";
trace (kingdaXML.site[0]);
/*
輸出:
<site name="Kingda’s blog" url="http://www.kingda.org/" language="Chinese">
<pageview>100000</pageview>
<author/>
<location>Hangzhou, China</location>
<weekvisit>1000,2000,3000,4000</weekvisit>
</site>
*/
delete kingdaXML.site[0].author;
delete kingdaXML.site[0].location;
delete kingdaXML.site[0].weekvisit;
delete kingdaXML.site[0].@language;
trace (kingdaXML.site[0]);
/*
輸出:
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>100000</pageview>
</site>
*/
}
private function accessSample():void {
//訪問site下面的pageview
trace (kingdaXML.site.pageview);
/*
輸出:100000
*/
trace (kingdaXML.site);
/*
輸出:
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>100000</pageview>
</site>
<site name="ActionScript 3" url="http://www.actionscript3.cn/"/>
*/
trace (kingdaXML.site[0]);
/*
輸出:
<site name="Kingda’s blog" url="http://www.kingda.org/">
<pageview>100000</pageview>
</site>
*/
trace (kingdaXML.site[1]);
/*
輸出為空,因為第二個site子元素沒有子元素,是一個空節(jié)點,所以為空
*/
trace (kingdaXML.site.@name);
/*
由于兩個子元素都有name屬性值,所以兩個都輸出:
Kingda’s blogActionScript 3
*/
trace (kingdaXML.site.@name[0]);
/*
輸出第一個子元素的name屬性值:
Kingda’s blog
*/
}
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -