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

📄 domxml-php4-php5.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
	function __get($name)	{		switch ($name)		{			case 'type': return $this->myDOMNode->nodeType;			case 'tagname': return ($this->myDOMNode->nodeType===XML_ELEMENT_NODE) ? $this->myDOMNode->localName : $this->myDOMNode->tagName; //Avoid namespace prefix for DOMElement			case 'content': return $this->myDOMNode->textContent;			case 'value': return $this->myDOMNode->value;			default:				$myErrors=debug_backtrace();				trigger_error('Undefined property: '.get_class($this).'::$'.$name.' ['.$myErrors[0]['file'].':'.$myErrors[0]['line'].']',E_USER_NOTICE);				return false;		}	}	function add_child($newnode) {return append_child($newnode);}	function add_namespace($uri,$prefix) {return false;}	function append_child($newnode) {return self::_newDOMElement($this->myDOMNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}	function append_sibling($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->appendChild($this->_importNode($newnode)),$this->myOwnerDocument);}	function attributes()	{		$myDOMNodeList=$this->myDOMNode->attributes;		if (!(isset($myDOMNodeList)&&$this->myDOMNode->hasAttributes())) return null;		$nodeSet=array();		$i=0;		while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=new php4DOMAttr($node,$this->myOwnerDocument);		return $nodeSet;	}	function child_nodes()	{		$myDOMNodeList=$this->myDOMNode->childNodes;		$nodeSet=array();		$i=0;		if (isset($myDOMNodeList))			while ($node=$myDOMNodeList->item($i++)) $nodeSet[]=self::_newDOMElement($node,$this->myOwnerDocument);		return $nodeSet;	}	function children() {return $this->child_nodes();}	function clone_node($deep=false) {return self::_newDOMElement($this->myDOMNode->cloneNode($deep),$this->myOwnerDocument);}	//dump_node($node) should only be called on php4DOMDocument	function dump_node($node=null) {return $node==null ? $this->myOwnerDocument->myDOMNode->saveXML($this->myDOMNode) : $this->myOwnerDocument->myDOMNode->saveXML($node->myDOMNode);}	function first_child() {return self::_newDOMElement($this->myDOMNode->firstChild,$this->myOwnerDocument);}	function get_content() {return $this->myDOMNode->textContent;}	function has_attributes() {return $this->myDOMNode->hasAttributes();}	function has_child_nodes() {return $this->myDOMNode->hasChildNodes();}	function insert_before($newnode,$refnode) {return self::_newDOMElement($this->myDOMNode->insertBefore($this->_importNode($newnode),$refnode==null?null:$refnode->myDOMNode),$this->myOwnerDocument);}	function is_blank_node() {return ($this->myDOMNode->nodeType===XML_TEXT_NODE)&&preg_match('%^\s*$%',$this->myDOMNode->nodeValue);}	function last_child() {return self::_newDOMElement($this->myDOMNode->lastChild,$this->myOwnerDocument);}	function new_child($name,$content)	{		$mySubNode=$this->myDOMNode->ownerDocument->createElement($name);		$mySubNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($content)));		$this->myDOMNode->appendChild($mySubNode);		return new php4DOMElement($mySubNode,$this->myOwnerDocument);	}	function next_sibling() {return self::_newDOMElement($this->myDOMNode->nextSibling,$this->myOwnerDocument);}	function node_name() {return ($this->myDOMNode->nodeType===XML_ELEMENT_NODE) ? $this->myDOMNode->localName : $this->myDOMNode->nodeName;} //Avoid namespace prefix for DOMElement	function node_type() {return $this->myDOMNode->nodeType;}	function node_value() {return $this->myDOMNode->nodeValue;}	function owner_document() {return $this->myOwnerDocument;}	function parent_node() {return self::_newDOMElement($this->myDOMNode->parentNode,$this->myOwnerDocument);}	function prefix() {return $this->myDOMNode->prefix;}	function previous_sibling() {return self::_newDOMElement($this->myDOMNode->previousSibling,$this->myOwnerDocument);}	function remove_child($oldchild) {return self::_newDOMElement($this->myDOMNode->removeChild($oldchild->myDOMNode),$this->myOwnerDocument);}	function replace_child($newnode,$oldnode) {return self::_newDOMElement($this->myDOMNode->replaceChild($this->_importNode($newnode),$oldnode->myDOMNode),$this->myOwnerDocument);}	function replace_node($newnode) {return self::_newDOMElement($this->myDOMNode->parentNode->replaceChild($this->_importNode($newnode),$this->myDOMNode),$this->myOwnerDocument);}	function set_content($text) {return $this->myDOMNode->appendChild($this->myDOMNode->ownerDocument->createTextNode(_entityDecode($text)));} //Entity problem reported by AL-DesignWorks 2007-09-07	//function set_name($name) {return $this->myOwnerDocument->renameNode($this->myDOMNode,$this->myDOMNode->namespaceURI,$name);}	function set_namespace($uri,$prefix=null)	{//Contributions by Daniel Walker 2006-09-08		$nsprefix=$this->myDOMNode->lookupPrefix($uri);		if ($nsprefix==null)		{			$nsprefix= $prefix==null ? $nsprefix='a'.sprintf('%u',crc32($uri)) : $prefix;			if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)			{				if (($prefix!=null)&&$this->myDOMNode->ownerElement->hasAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)&&					($this->myDOMNode->ownerElement->getAttributeNS('http://www.w3.org/2000/xmlns/',$nsprefix)!=$uri))				{//Remove namespace					$parent=$this->myDOMNode->ownerElement;					$parent->removeAttributeNode($this->myDOMNode);					$parent->setAttribute($this->myDOMNode->localName,$this->myDOMNode->nodeValue);					$this->myDOMNode=$parent->getAttributeNode($this->myDOMNode->localName);					return;				}				$this->myDOMNode->ownerElement->setAttributeNS('http://www.w3.org/2000/xmlns/','xmlns:'.$nsprefix,$uri);			}		}		if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE)		{			$parent=$this->myDOMNode->ownerElement;			$parent->removeAttributeNode($this->myDOMNode);			$parent->setAttributeNS($uri,$nsprefix.':'.$this->myDOMNode->localName,$this->myDOMNode->nodeValue);			$this->myDOMNode=$parent->getAttributeNodeNS($uri,$this->myDOMNode->localName);		}		elseif ($this->myDOMNode->nodeType===XML_ELEMENT_NODE)		{			$NewNode=$this->myDOMNode->ownerDocument->createElementNS($uri,$nsprefix.':'.$this->myDOMNode->localName);			foreach ($this->myDOMNode->attributes as $n) $NewNode->appendChild($n->cloneNode(true));			foreach ($this->myDOMNode->childNodes as $n) $NewNode->appendChild($n->cloneNode(true));			$xpath=new DOMXPath($this->myDOMNode->ownerDocument);			$myDOMNodeList=$xpath->query('namespace::*[name()!="xml"]',$this->myDOMNode); //Add old namespaces			foreach ($myDOMNodeList as $n) $NewNode->setAttributeNS('http://www.w3.org/2000/xmlns/',$n->nodeName,$n->nodeValue); 			$this->myDOMNode->parentNode->replaceChild($NewNode,$this->myDOMNode);			$this->myDOMNode=$NewNode;		}	}	function unlink_node()	{		if ($this->myDOMNode->parentNode!=null)		{			if ($this->myDOMNode->nodeType===XML_ATTRIBUTE_NODE) $this->myDOMNode->parentNode->removeAttributeNode($this->myDOMNode);			else $this->myDOMNode->parentNode->removeChild($this->myDOMNode);		}	}	protected function _importNode($newnode) {return $this->myOwnerDocument===$newnode->myOwnerDocument ? $newnode->myDOMNode : $this->myOwnerDocument->myDOMNode->importNode($newnode->myDOMNode,true);} //To import DOMNode from another DOMDocument	static function _newDOMElement($aDOMNode,$aOwnerDocument)	{//Check the PHP5 DOMNode before creating a new associated PHP4 DOMNode wrapper		if ($aDOMNode==null) return null;		switch ($aDOMNode->nodeType)		{			case XML_ELEMENT_NODE: return new php4DOMElement($aDOMNode,$aOwnerDocument);			case XML_TEXT_NODE: return new php4DOMText($aDOMNode,$aOwnerDocument);			case XML_ATTRIBUTE_NODE: return new php4DOMAttr($aDOMNode,$aOwnerDocument);			case XML_PI_NODE: return new php4DomProcessingInstruction($aDOMNode,$aOwnerDocument);			default: return new php4DOMNode($aDOMNode,$aOwnerDocument);		}	}}class php4DomProcessingInstruction extends php4DOMNode{	function data() {return $this->myDOMNode->data;}	function target() {return $this->myDOMNode->target;}}class php4DOMText extends php4DOMNode{	function __get($name)	{		if ($name==='tagname') return '#text';		else return parent::__get($name);	}	function tagname() {return '#text';}	function set_content($text) {$this->myDOMNode->nodeValue=$text; return true;}}if (!defined('XPATH_NODESET')){	define('XPATH_UNDEFINED',0);	define('XPATH_NODESET',1);	define('XPATH_BOOLEAN',2);	define('XPATH_NUMBER',3);	define('XPATH_STRING',4);	/*define('XPATH_POINT',5);	define('XPATH_RANGE',6);	define('XPATH_LOCATIONSET',7);	define('XPATH_USERS',8);	define('XPATH_XSLT_TREE',9);*/}class php4DOMNodelist{	private $myDOMNodelist;	public $nodeset;	public $type=XPATH_UNDEFINED;	public $value;	function php4DOMNodelist($aDOMNodelist,$aOwnerDocument)	{		if (!isset($aDOMNodelist)) return; 		elseif (is_object($aDOMNodelist)||is_array($aDOMNodelist))		{			if ($aDOMNodelist->length>0)			{				$this->myDOMNodelist=$aDOMNodelist;				$this->nodeset=array();				$this->type=XPATH_NODESET;				$i=0;				while ($node=$this->myDOMNodelist->item($i++)) $this->nodeset[]=php4DOMNode::_newDOMElement($node,$aOwnerDocument);			}		}		elseif (is_int($aDOMNodelist)||is_float($aDOMNodelist))		{			$this->type=XPATH_NUMBER;			$this->value=$aDOMNodelist;		}		elseif (is_bool($aDOMNodelist))		{			$this->type=XPATH_BOOLEAN;			$this->value=$aDOMNodelist;		}		elseif (is_string($aDOMNodelist))		{			$this->type=XPATH_STRING;			$this->value=$aDOMNodelist;		}	}}class php4DOMXPath{	public $myDOMXPath;	private $myOwnerDocument;	function php4DOMXPath($dom_document)	{		//TODO: If $dom_document is a DomElement, make that default $contextnode and modify XPath. Ex: '/test'		$this->myOwnerDocument=$dom_document->myOwnerDocument;		$this->myDOMXPath=new DOMXPath($this->myOwnerDocument->myDOMNode);	}	function xpath_eval($eval_str,$contextnode=null)	{		if (method_exists($this->myDOMXPath,'evaluate')) $xp=isset($contextnode) ? $this->myDOMXPath->evaluate($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->evaluate($eval_str);		else $xp=isset($contextnode) ? $this->myDOMXPath->query($eval_str,$contextnode->myDOMNode) : $this->myDOMXPath->query($eval_str);		$xp=new php4DOMNodelist($xp,$this->myOwnerDocument);		return ($xp->type===XPATH_UNDEFINED) ? false : $xp;	}	function xpath_register_ns($prefix,$namespaceURI) {return $this->myDOMXPath->registerNamespace($prefix,$namespaceURI);}}if (extension_loaded('xsl')){//See also: http://alexandre.alapetite.net/doc-alex/xslt-php4-php5/	function domxml_xslt_stylesheet($xslstring) {return new php4DomXsltStylesheet(DOMDocument::loadXML($xslstring));}	function domxml_xslt_stylesheet_doc($dom_document) {return new php4DomXsltStylesheet($dom_document);}	function domxml_xslt_stylesheet_file($xslfile) {return new php4DomXsltStylesheet(DOMDocument::load($xslfile));}	class php4DomXsltStylesheet	{		private $myxsltProcessor;		function php4DomXsltStylesheet($dom_document)		{			$this->myxsltProcessor=new xsltProcessor();			$this->myxsltProcessor->importStyleSheet($dom_document);		}		function process($dom_document,$xslt_parameters=array(),$param_is_xpath=false)		{			foreach ($xslt_parameters as $param=>$value) $this->myxsltProcessor->setParameter('',$param,$value);			$myphp4DOMDocument=new php4DOMDocument();			$myphp4DOMDocument->myDOMNode=$this->myxsltProcessor->transformToDoc($dom_document->myDOMNode);			return $myphp4DOMDocument;		}		function result_dump_file($dom_document,$filename)		{			$html=$dom_document->myDOMNode->saveHTML();			file_put_contents($filename,$html);			return $html;		}		function result_dump_mem($dom_document) {return $dom_document->myDOMNode->saveHTML();}	}}?>

⌨️ 快捷键说明

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