Пример #1
0
		public function checkLogin(){
			$document = new domDocument();
			$document->load("users/users.xml");
			$xpath = new domXpath($document);
			$nodelist = $xpath->query("/*/user[string(login) = '$this->login']");
			return ($nodelist->length == 0)?false:true; 
		}
Пример #2
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	$nodelist = $xpath->query("/*/noutbuk/*");
	for($i=2; $i<($nodelist->length+1); $i++){
		viewInfo($xpath->query("/*/noutbuk/*[position() = ".$i."]"));
	}
	echo "<br/>-------------------------------------<br/>";
	viewInfo($xpath->query("/*/*/*/*[name() = 'year']/.."));
?>
Пример #3
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName <br/>";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	viewInfo($xpath->query("/asort:asortiment/descendant::*"));
?>
Пример #4
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName <br/>";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	viewInfo($xpath->query("/*/noutbuk/model/name/ancestor::*"));
?>
Пример #5
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName <br/>";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	viewInfo($xpath->query("/*/noutbuk/preceding-sibling::*"));
	viewInfo($xpath->query("/*/noutbuk/following-sibling::*"));
?>
Пример #6
0
<?php

$document = new domDocument();
$document->load("test3.xml");
function viewInfo($nodelist)
{
    for ($i = 0; $i < $nodelist->length; $i++) {
        $node = $nodelist->item($i);
        echo "Name: {$node->nodeName} <br/>";
        echo "Value: {$node->nodeValue} <br/>";
    }
}
$xpath = new domXpath($document);
viewInfo($xpath->query("*/self::noutbuk/*"));
viewInfo($xpath->query("*/self::noutbuk/*/.."));
		/ПРЕДИКАТЫ УКАЗЫВАЕМ В КВАДРАТНЫХ СКОБКАХ []	
		/Запрос query("/node()/*[floor(2.5) = 2]") - проверяет на соответствие условия функции округления в меньшую сторону, если условие верно, то вернет результат
		/Запрос query("/node()/*[ceiling(2.5) = 3]") - проверяет на соответствие условия функции округления в большую сторону, если условие верно, то вернет результат
		/Запрос query("/node()/*[round(2.5) = 3]") - проверяет на соответствие условия функции адекватного округления, если условие верно, то вернет результат
		/Запрос query("/node()/*[floor(2.4)+1 = 3]") - проверяет на соответствие условия функции округления в меньшую сторону плюс единица, если условие верно, то вернет результат
		/Запрос query("/node()/*[round(2.6) div 2 = 1.5]") - проверяет на соответствие условия функции адекватного округления разделенного на 2, если условие верно, то вернет результат
		/Запрос query("/node()/*[round(2.6) mod 2 = 1]") - проверяет на соответствие условия функции адекватного округления с остатком от деления, если условие верно, то вернет результат
		/В арифметических предикатах так же могут быть сложные условия [(ceiling(2.5) = 3) and ((1<2) or (2>=2))]
	*/
	function viewResult($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue<br/>";
		}
	}
	$document = new domDocument();
	$document->load("test.xml");
	$xpath = new domXpath($document);
	viewResult($xpath->query("/node()/*[floor(2.5) = 2]"));
	echo "<br />---------------------------------------<br />";
	viewResult($xpath->query("/node()/*[ceiling(2.5) = 3]"));
	echo "<br />---------------------------------------<br />";
	viewResult($xpath->query("/node()/*[round(2.4) = 2]"));
	echo "<br />---------------------------------------<br />";
	viewResult($xpath->query("/node()/*[floor(2.4)+1 = 3]"));
	echo "<br />---------------------------------------<br />";
	viewResult($xpath->query("/node()/*[round(2.6) div 2 = 1.5]"));
	echo "<br />---------------------------------------<br />";
	viewResult($xpath->query("/node()/*[round(2.6) mod 2 = 1]"));
?>
		/Запрос query("/node()/node()/node()[contains(string(*), 'ota')]") - проверяет на совпадение в строке дочерних элементов указанной строки (если часть указанной строки встречается в строке дочерних элементов вернет результат)
		/Запрос query("/node()/node()/node()[substring-before(string(*), 'ota') = 'Toy']") - проверяет на совпадение указанного условия (если начало строки дочерних элементов равно указанной строке то вернет результат)
		/Запрос query("/node()/node()/node()[substring-after(string(*), 'Toy') = 'ota']") - проверяет на совпадение указанного условия (если продолжение строки дочерних элементов равно указанной строку то вернет результат)
		/Запрос query("/node()/node()/node()[substring(string(*), 1,2) = 'BM']") - проверяет на совпадение указанного условия(если вырезанный кусок строки дочерних элементов равен указанному, вернет результат)
		/Запрос query("/node()/node()/node()[string-length(string(*)) = 6]")- проверяет на совпадение указанного условия (если строка дочерних элементов равна указанным символам, то вернет результат)
	*/
	function viewResult($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue<br/>";
		}
	}
	$document = new domDocument();
	$document->load("test.xml");
	$xpath = new domXpath($document);
	viewResult($xpath->query("/node()/node()/node()[string(*) = 'Toyota']"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[normalize-space(' dsds \n') = 'dsds']"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[concat(string(*), 'd') = 'BMWd']"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[starts-with(string(*), 'Toyota')]"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[contains(string(*), 'ota')]"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[substring-before(string(*), 'ota') = 'Toy']"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[substring-after(string(*), 'Toy') = 'ota']"));
	echo "<br/>-------------------------------------------------------<br/>";
	viewResult($xpath->query("/node()/node()/node()[substring(string(*), 1,2) = 'BM']"));
				<tr>
				<td align='center' colspan='2'><input type='checkbox' name='news' id='news'/><label for='news'> Хотите получать новости с сайта?</label></td>
				</tr>
				<tr>
				<td align='center' colspan='2'><input type='submit' value='Отправить'/></td>
				</tr>
			</table>
		</form>
		</div>";
	}
	?>
	<center >
		<?php
			$document = new domDocument();
			$document->load("content.xml");
			$xpath = new domXpath($document);
			if(isset($_REQUEST["view"])){
				$nodelist = $xpath->query("/*/*/".$_REQUEST["view"]."/*");
			}
			else{
				$nodelist = $xpath->query("/*/*/*/*");
			}
			for($i=0; $i<$nodelist->length; $i++){
				$node = $nodelist->item($i);
				$row["$node->nodeName"] = iconv("UTF-8", "CP1251",$node->nodeValue);
				if(($i+1)%4 == 0){
					echo "<a href='".$row["link"]."'><h1>".$row["title"]."</h1></a> 	<img src='".$row["image"]."'/><h3>Описание</h3>".$row["description"]."<br/>";
				
				}					
			}
		?>
Пример #10
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	if($xpath->query("/*/noutbuk/*/name[string() = 'Sony S38']")){
		viewInfo($xpath->query("/*/noutbuk/*/name[string() = 'Sony S38']"));
		viewInfo($xpath->query("/*/noutbuk/*/name[string() = 'Sony S38']/following-sibling::year"));
	}
	echo "<br />------------------------------------------<br />";
	viewInfo($xpath->query("/*/*/*[contains(string(*), 'Canon')]"));
?>
<?php
	/*Предикаты функции узлов урок 25
		***Функции узлов
		1) Функция position() - возвращает номер позиции узла из массива-списка (номерация идет от 1, а не от 0)
		2) Фугкция last() - возвращает длину массива-списка
		3) Функция count(node-set) - возвращает количество узлов в node-set(то есть в указанном параметре)
		4) Функция name(node-set) - возвращает имя 1-го узла в node-set(в указанном параметре)
		 /ПРЕДИКАТЫ УКАЗЫВАЕМ В КВАДРАТНЫХ СКОБКАХ []
	*/
	function viewResult($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue<br/>";
		}
	}
	$document = new domDocument();
	$document->load("test.xml");
	$xpath = new domXpath($document);
	viewResult($xpath->query("/*/*/*[position() = 2]"));
	echo "<br />--------------------------------<br/>";
	viewResult($xpath->query("/*/*/*[last() = 2]"));
	echo "<br />--------------------------------<br/>";
	viewResult($xpath->query("/*[count(gar:garage) = 1]"));
	echo "<br />--------------------------------<br/>";
	viewResult($xpath->query("/node()[name(*) = 'gar:garage']"));
?>
Пример #12
0
 public function run($new = Null)
 {
     if (is_a($new, jqmel)) {
         return $this->done = $new === $this->node;
     } elseif (is_callable($new)) {
         return $this->done = call_user_func($new, $this->node) == true;
     } else {
         $query = $this->match_selector($new, 'self::', false);
     }
     $attr = $this->node->data('_attributes')->get();
     $path = $this->node->data('_path')->get();
     $ns = $this->node->data('_parentElement')->get();
     $tag = $this->node->data('_name')->get();
     $done = false;
     $d = jqm_use($ns);
     $this->query_arg = $query;
     if (array_key_exists('button', $query['filters'])) {
         if (!in_array($tag, array('input', 'button'))) {
             return $this->done = false;
         }
         if ($tag == 'input' and !array_key_exists('type', $attr)) {
             return $this->done = false;
         }
         if ($tag == 'input' and $attr['type'] !== 'button') {
             return $this->done = false;
         }
     }
     if (array_key_exists('header', $query['filters'])) {
         $regex = '/h1|h2|h3|h4|h5|h6|h[1-9]/ix';
         if (preg_match($regex, $tag) == false) {
             return $this->done = false;
         }
     }
     if (array_key_exists('first', $query['filters'])) {
         if (!isset($this->node->trace)) {
             $this->done = true;
         } else {
             $i = key($this->node->trace);
             $first = $this->node->trace[$i];
             if ($first !== $this->node) {
                 return $this->done = false;
             }
         }
     }
     if (array_key_exists('last', $query['filters'])) {
         if (!isset($this->node->trace)) {
             $this->done = true;
         } else {
             $last = end($this->node->trace);
             if ($last !== $this->node) {
                 return $this->done = false;
             }
         }
     }
     if (array_key_exists('checked', $query['filters'])) {
         if ($tag !== 'input') {
             return $this->done = false;
         }
         if (!in_array($attr['type'], array('radio', 'checkbox'))) {
             return $this->done = false;
         }
     }
     if (array_key_exists('file', $query['filters'])) {
         if ($tag !== 'input') {
             return $this->done = false;
         }
         if ($attr['type'] !== 'file') {
             return $this->done = false;
         }
     }
     if (array_key_exists('text', $query['filters'])) {
         if ($tag !== 'input') {
             return $this->done = false;
         }
         if ($attr['type'] !== 'text') {
             return $this->done = false;
         }
     }
     if (array_key_exists('submit', $query['filters'])) {
         if (!in_array($tag, array('input', 'button'))) {
             return $this->done = false;
         }
         if ($attr['type'] !== 'submit') {
             return $this->done = false;
         }
     }
     if (array_key_exists('checkbox', $query['filters'])) {
         if ($tag !== 'input') {
             return $this->done = false;
         }
         if ($attr['type'] !== 'checkbox') {
             return $this->done = false;
         }
     }
     if (array_key_exists('radio', $query['filters'])) {
         if ($tag !== 'input') {
             return $this->done = false;
         }
         if ($attr['type'] !== 'radio') {
             return $this->done = false;
         }
     }
     if (array_key_exists('selected', $query['filters'])) {
         if ($tag !== 'option') {
             return $this->done = false;
         }
         if (!array_key_exists('selected', $attr)) {
             return $this->done = false;
         }
         $query['filters']['parent'] = 'select';
     }
     if (array_key_exists('has', $query['filters'])) {
         $html = $this->node->html()->get();
         if (empty($html) || strip_tags($html) == $html) {
             return $this->done = false;
         }
         if (!empty($query['filters']['has'])) {
             if (preg_match('/<(' . $query['filters']['has'] . ')\\b(.*?)>(?:(.*?)(<\\/\\1>))?/ix', $html) == false) {
                 return $this->done = false;
             }
         }
     }
     if (array_key_exists('disabled', $query['filters']) and !array_key_exists('disabled', $attr)) {
         return $this->done = false;
     }
     if (array_key_exists('contains', $query['filters'])) {
         $html = $this->node->html()->get();
         $html = strip_tags($html);
         if (empty($html)) {
             return $this->done = false;
         }
         if (!empty($query['filters']['contains'])) {
             if (strpos($html, jqueryphp_abstracts_element::escape($query['filters']['contains'])) === false) {
                 return $this->done = false;
             }
         }
     }
     if (array_key_exists('visible', $query['filters'])) {
         if ($this->isHidden() === true) {
             return $this->done = false;
         }
     }
     if (array_key_exists('hidden', $query['filters'])) {
         if ($this->isHidden() === false) {
             return $this->done = false;
         }
     }
     if (array_key_exists('only-child', $query['filters'])) {
         $doc = $d->_DOM;
         $xpath = new domXpath($doc);
         $node = $xpath->query($path);
         if ($node->length < 1) {
             return $this->done = false;
         }
         if (!$node->item(0)->parentNode) {
             return $this->done = false;
         }
         if (!$node->item(0)->parentNode->childNodes) {
             return $this->done = false;
         }
         if ($node->item(0)->parentNode->childNodes->length > 1) {
             return $this->done = false;
         }
     }
     if (array_key_exists('nth-child', $query['filters'])) {
         if ($query['filters']['nth-child'] == NULL || strlen($query['filters']['nth-child']) === 0) {
             return $this->done = false;
         }
         $pos = strrpos($path, '[');
         if ($pos === false) {
             return $this->done = false;
         }
         if ($pos == strlen($path) - 1) {
             return $this->done = false;
         }
         $pos = trim(substr($path, $pos), '[]');
         if (!is_numeric($pos)) {
             return $this->done = false;
         }
         $pos = (int) $pos;
         if (is_numeric($query['filters']['nth-child'])) {
             if ((int) $query['filters']['nth-child'] < 1) {
                 return $this->done = false;
             }
             if ($pos !== (int) $query['filters']['nth-child']) {
                 return $this->done = false;
             }
         } elseif ($query['filters']['nth-child'] === 'even') {
             if (($pos % 2 == 0) == false) {
                 return $this->done = false;
             }
         } elseif ($query['filters']['nth-child'] === 'odd') {
             if (($pos % 2 == 0) == true) {
                 return $this->done = false;
             }
         } else {
             return $this->done = false;
         }
     }
     if (array_key_exists('nth-last-child', $query['filters'])) {
         $doc = $d->_DOM;
         $xpath = new domXpath($doc);
         $node = $xpath->query($path);
         if ($node->length < 1) {
             return $this->done = false;
         }
         if (!$node->item(0)->parentNode) {
             return $this->done = false;
         }
         $cht = $node->item(0)->parentNode->childNodes->length;
         if (is_numeric($query['filters']['nth-last-child'])) {
             $pos = (int) $query['filters']['nth-last-child'];
             if ($pos < 1) {
                 return $this->done = false;
             }
             $pos = $cht - $pos;
         } elseif (in_array($query['filters']['nth-last-child'], array('even', 'odd'))) {
             $pos = strrpos($path, '[');
             if ($pos === false) {
                 return $this->done = false;
             }
             if ($pos == strlen($path) - 1) {
                 return $this->done = false;
             }
             $pos = trim(substr($path, $pos), '[]');
             if (!is_numeric($pos)) {
                 return $this->done = false;
             }
             $pos = (int) $pos;
             if ($query['filters']['nth-last-child'] === 'even') {
                 if ((($cht - $pos) % 2 == 0) === true) {
                     return $this->done = false;
                 }
             }
             if ($query['filters']['nth-last-child'] === 'odd') {
                 if ((($cht - $pos) % 2 == 0) === false) {
                     return $this->done = false;
                 }
             }
         } else {
             return $this->done = false;
         }
         if ($pos > $cht) {
             return $this->done = false;
         }
         if ($pos < 0) {
             return $this->done = false;
         }
         $chd = $node->item(0)->parentNode->childNodes->item($pos - 1);
         if (!$chd) {
             return $this->done = false;
         }
         if ($node->item(0)->isSameNode($chd) === false) {
             return $this->done = false;
         }
         unset($chd);
     }
     if (array_key_exists('only-of-type', $query['filters'])) {
         $doc = $d->_DOM;
         $xpath = new domXpath($doc);
         $node = $xpath->query($path);
         if ($node->length < 1) {
             return $this->done = false;
         }
         if ($node->item(0)->childNodes) {
             if ($node->item(0)->childNodes->length > 0 and $node->item(0)->childNodes->item(0)->nodeType !== 3) {
                 return $this->done = false;
             }
         }
     }
     if (array_key_exists('first-child', $query['filters'])) {
         $doc = $d->_DOM;
         $xpath = new domXpath($doc);
         $node = $xpath->query($path);
         if ($node->length < 1) {
             return $this->done = false;
         }
         if (!$node->item(0)->parentNode) {
             return $this->done = false;
         }
         if ($node->item(0)->parentNode->firstChild->isSameNode($node->item(0)) === false) {
             return $this->done = false;
         }
     }
     if (array_key_exists('last-child', $query['filters'])) {
         $doc = $d->_DOM;
         $xpath = new domXpath($doc);
         $node = $xpath->query($path);
         if ($node->length < 1) {
             return $this->done = false;
         }
         if (!$node->item(0)->parentNode) {
             return $this->done = false;
         }
         if ($node->item(0)->parentNode->lastChild->isSameNode($node->item(0)) === false) {
             return $this->done = false;
         }
     }
     if (isset($query['specifier'])) {
         $v = array_intersect_key($query['specifier'], $attr);
         if (isset($query['tag'])) {
             $ipt = explode('|', $query['tag']);
             if (!in_array($this->node->data('_name')->get(), $ipt)) {
                 return $this->done = false;
             }
         }
         if (count($query['specifier']) > 0 and empty($v)) {
             return $this->done = false;
         }
     }
     //Find Has attr
     if (array_key_exists('id', $query['specifier'])) {
         if ($query['specifier']['id'] !== $v['id']) {
             return $this->done = false;
         }
     }
     if (array_key_exists('class', $query['specifier'])) {
         $classes = $v['class'];
         $hasclass = $this->node->hasClass($classes)->get();
         if ($hasclass) {
             $v['class'] = $attr['class'];
         }
     }
     $this->matched = $v;
     $v = count(array_intersect($v, $attr)) >= count($query['specifier']);
     if ($v === false) {
         return $this->false = true;
     }
     if (!empty($query['attributes'])) {
         $found = false;
         $attrkeys = array_keys($attr);
         if (isset($query['attributes']['colExists'])) {
             $validAttr = array_intersect($query['attributes']['colExists'], $attrkeys);
             $found = $validAttr;
             $found = (count($validAttr) > 0 and count($validAttr) === count($query['attributes']['colExists']));
         }
         if (isset($query['attributes']['colNotExists'])) {
             $validAttr = array_diff($query['attributes']['colNotExists'], $attrkeys);
             $found = (!empty($found) and $validAttr == $query['attributes']['colNotExists']);
         }
         $check = $query['attributes'];
         unset($check['colNotExists']);
         unset($check['colExists']);
         if (isset($check) and is_array($check) and !empty($check)) {
             $found = $this->matchAttributeSelectors($check, $attr);
         }
         if (!$found) {
             $this->done = false;
             return;
         }
     }
     if (!empty($query['filters'])) {
         $path = $this->node->data('_path')->get();
         if (array_key_exists('empty', $query['filters'])) {
             $inner = $this->node->data('_innerHtml')->get();
             if (!empty($inner)) {
                 return $this->done = false;
             }
         }
         if (array_key_exists('parent', $query['filters'])) {
             if (isset($query['filters']['parent']) and !empty($query['filters']['parent'])) {
                 $parents = explode('/', $path);
                 array_pop($parents);
                 $ps = strpos(end($parents), $query['filters']['parent']);
                 if ($ps === false) {
                     $this->done = false;
                 }
                 return;
                 if ($ps !== 0) {
                     $this->done = false;
                     return;
                 }
             }
             $inner = $this->node->data('_innerHtml')->get();
             if (empty($inner)) {
                 return $this->done = false;
             }
             if (strlen($inner) < 1) {
                 $this->done = false;
                 return;
             }
             $this->done = true;
         }
         if (strripos($path, ']') == strlen($path) - 1) {
             $path = substr($path, strripos($path, '['));
             if (preg_match('/\\[(\\d)\\]/', $path, $match)) {
                 $path = $match[1];
             } else {
                 $path = 1;
             }
         } else {
             $path = 1;
         }
         if (is_numeric($path)) {
             $i = (int) $path - 1;
             unset($path);
             if ($i < 0) {
                 $this->done = false;
                 return;
             }
             if (array_key_exists('eq', $query['filters']) and is_numeric($query['filters']['eq'])) {
                 if ($query['filters']['eq'] != $i) {
                     $this->done = false;
                     return;
                 }
             }
             if (array_key_exists('gt', $query['filters']) and is_numeric($query['filters']['gt'])) {
                 if ($i > (int) $query['filters']['gt'] == false) {
                     $this->done = false;
                     return;
                 }
             }
             if (array_key_exists('lt', $query['filters']) and is_numeric($query['filters']['lt'])) {
                 if ($i < (int) $query['filters']['lt'] == false) {
                     $this->done = false;
                     return;
                 }
             }
             if (array_key_exists('odd', $query['filters'])) {
                 if (($i % 2 == 0) == true) {
                     $this->done = false;
                     return;
                 }
             }
             if (array_key_exists('even', $query['filters'])) {
                 if (($i % 2 == 0) == false) {
                     $this->done = false;
                     return;
                 }
             }
         }
     }
     return $this->done = true;
 }
Пример #13
0
<?php

$doc = new domdocument();
$doc->load('data.rss');
$ctx = new domXpath($doc);
$node = $ctx->query('/rss/channel/item/title/text()');
echo 'Title: ';
echo $node[0]->nodeValue;
echo "\n";
Пример #14
0
<?php

$document = new domDocument();
$document->load("test3.xml");
function viewInfo($nodelist)
{
    for ($i = 0; $i < $nodelist->length; $i++) {
        $node = $nodelist->item($i);
        echo "Name: {$node->nodeName} <br/>";
        echo "Value: {$node->nodeValue} <br/>";
    }
}
$xpath = new domXpath($document);
viewInfo($xpath->query("/*/self::*"));
viewInfo($xpath->query("*/attribute::*"));
viewInfo($xpath->query("namespace::*"));
Пример #15
0
<?php
	$document = new domDocument();
	$document->load("test3.xml");
	function viewInfo($nodelist){
		for($i=0; $i<$nodelist->length; $i++){
			$node = $nodelist->item($i);
			echo "Name: $node->nodeName, ";
			echo "Value: $node->nodeValue <br/>";
		}
	}
	$xpath = new domXpath($document);
	viewInfo($xpath->query("/*/*/*/name[string-length() mod 2 = 0]"));
	echo "<br />------------------<br />";
	viewInfo($xpath->query("/*/*/*/*[position() = 3 and round(string())>2000]/../*[position() = 1]"));
	
	
	
	
?>