⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicxmloperation.as

📁 《Flash AS3殿堂之路》光盘源码 学习ActionScript 3.0
💻 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 {
			//添加一个空白节点
			kingdaXML.site[0].author = new XML();
			//以字符串添加一个子节点
			kingdaXML.site[0].location = "Hangzhou, China";
			//用数组添加一个子节点
			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子元素没有子元素,是一个空节点,所以为空
			*/
			
			trace (kingdaXML.site.@name);
			/*
			由于两个子元素都有name属性值,所以两个都输出:
			Kingda’s blogActionScript 3
			*/
			trace (kingdaXML.site.@name[0]);
			/*
			输出第一个子元素的name属性值:
			Kingda’s blog
			*/				
		}
		
		
		
	}
	
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -