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

📄 xmlworker.as

📁 国外强大的xml相册
💻 AS
字号:
class  pssclasses.xmlReaders.XmlWorker {
	private static var firstChild:XMLNode;
	private static var childInObject:Object;
	//********************************************
	private function XmlWorker() {
	}
	//***************return XML tags by name**********
	public static function returnChildNode(inXML:XML):XMLNode {
		return inXML.firstChild;
	}
	//********************************************
	// Metod wich returned Object with node (Object Property by name Tag)
	//********************************************
	public static function returnObjectPropByName(nodeXML:XMLNode):Object {
		var childInObject:Object = new Object();
		childInObject.length = nodeXML.childNodes.length;
		for (var chil = 0; chil<childInObject.length; chil++) {
			childInObject[nodeXML.childNodes[chil].nodeName] = nodeXML.childNodes[chil].firstChild.nodeValue;
		}
		return childInObject;
	}
	//********************************************
	// Metod wich returned Array with NodeValues by tage name
	public static function arrayFromTagName(xmlNode:XMLNode, tagName:String):Array {
		var tagArray:Array = new Array();
		var nodesLength:Number = xmlNode.childNodes.length;
		var inChilLength:Number;
		var inChilTag:XMLNode;
		for (var chil = 0; chil<nodesLength; chil++) {
			inChilTag = xmlNode.childNodes[chil];
			inChilLength = xmlNode.childNodes.length;
			for (var inChil = 0; inChil<inChilLength; inChil++) {
				if (inChilTag.childNodes[inChil].nodeName == tagName) {
					tagArray[chil] = inChilTag.childNodes[inChil].firstChild;
				}
			}
		}
		return tagArray;
	}
	//****************** metod wich return attributes by attribetes name fron tag************
	public static function attibutesByNameFromTag(xmlNode:XMLNode, tagAttibutes:String):String {
		var tagAttributes:String;
		tagAttributes = xmlNode.firstChild.attributes[tagAttibutes];
		return tagAttributes;
	}
	//******end******** metod wich return attributes by attribetes name fron tag************
	//******************metod wich returned array attributes from XML Node*****************
	public static function arrayAttributesFromNode(xmlNode:XMLNode, tagAttributes:String):Array {
		var nodeAttributes:Array = new Array();
		var nodesLength:Number = xmlNode.childNodes.length;
		var inChilLength:Number;
		var inChilTag:XMLNode;
		for (var chil = 0; chil<nodesLength; chil++) {
			nodeAttributes[chil] = xmlNode.childNodes[chil].attributes[tagAttributes];
		}
		return nodeAttributes;
	}
	//*****end*********metod wich returned array attributes from XML Node*****************
	//********************metod wich returned XML with custom servives select from attributes ID*********
	public static function xmlWithCustomServices(servicesXML:XMLNode, tagAttributes:String, customServicesArr:Array) {
		var customServicesXML:XML;
		var suctomServicesString:String;
		var globalServicesArray:Array = new Array();
		// return array with object from xml
		globalServicesArray = arrayObjectFromXmlNode(servicesXML, tagAttributes);
		// datachment two array and take concidence object
		globalServicesArray = detachmentArray(globalServicesArray, customServicesArr, "id");
		// made XML from returned array with cervices
		return xmlFromArrayWithObjectt(globalServicesArray);
	}
	//******end**********metod wich returned XML with custom servives select from attributes ID*********
	//************metod return XML from array with object with property ID and TAG in tag lie XNLNode********
	public static function xmlFromArrayWithObjectt(arrayWithObject:Array):XML {
		var counter:Number = arrayWithObject.length;
		var XMLString:String = "";
		for (var ar = 0; ar<counter; ar++) {
			XMLString += arrayWithObject[ar].tag;
		}
		var servicesNode:XML = new XML(XMLString);
		return servicesNode;
	}
	//***end*****metod return XML from array with object with property ID and TAG in tag lie XNLNode********
	//*****************************metod return array with Object with property ID and Tag from XML******************
	public static function arrayObjectFromXmlNode(servicesXML:XMLNode, tagAttributes:String):Array {
		var globalServices_arr:Array = new Array();
		var nodesLength:Number = servicesXML.childNodes.length;
		// get global services attributes and tags Object
		for (var chil = 0; chil<nodesLength; chil++) {
			var globalServices_obj:Object = new Object();
			globalServices_obj.id = servicesXML.childNodes[chil].attributes[tagAttributes];
			globalServices_obj.tag = servicesXML.childNodes[chil];
			globalServices_arr[chil] = globalServices_obj;
		}
		return globalServices_arr;
	}
	//*****end********************metod return array with  Object with property ID and Tag from XML******************
	// *********************METOD SORT COMPARE TWO ARRAY AND GET CONCIDENCE************
	//var arrayBase:Array = new Array({id:5, tag:"JJJJJ"}, {id:67, tag:"JJJJJ"}, {id:8, tag:"JJJJJ"}, {id:3, tag:"JJJJJ"}, {id:23, tag:"JJJJJ"});
	//var arrayBase2:Array = new Array(67, 23, 1, 5);
	public static function detachmentArray(fromArray:Array, withArray:Array, propertySort:String):Array {
		fromArray.sortOn(propertySort, 16);
		withArray.sort(16);
		var counter:Number = withArray.length;
		var counterFrom:Number = fromArray.length;
		var indexInSeletc:Number = 0;
		var returnArray:Array = new Array();
		for (var ar = 0; ar<counter; ar++) {
			if (Number(fromArray[ar].id)>Number(withArray[ar])) {
				continue;
			} else if (Number(fromArray[ar].id) == Number(withArray[ar])) {
				returnArray.push(fromArray[ar]);
				indexInSeletc++;
				continue;
			} else {
				for (var fr = indexInSeletc; fr<counterFrom; fr++) {
					if (Number(fromArray[fr].id) == Number(withArray[ar])) {
						returnArray.push(fromArray[fr]);
						indexInSeletc = fr;
						continue;
					}
				}
			}
		}
		return returnArray;
	}
	// **END***********METOD SORT COMPARE TWO ARRAY AND GET CONCIDENCE************
	//*******end****class*****************
}

⌨️ 快捷键说明

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