parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

через firstChild реализовать, imho, не просто

Misha v.3 27.11.2007 15:56

т.к. надо делать кучу доп. проверок на текстовые ноды и ноды с другим именем. кроме того, может быть несколько дочерних элементов с таким именем.

если не нравится xpath, то можно написать метод, что-то типа такого:
@findChild[xNode;sName]
$result[]
$xItem[$xNode.firstChild]
^while($xItem && $xItem.nextSibling){
	^if($xItem.nodeType == $xdoc:ELEMENT_NODE && $xItem.nodeName eq $sName){
		$result[$xItem]
		$xItem[]
	}{
		$xItem[$xItem.nextSibling]
	}
}
и использовать его для нахождения первой дочерней ноды с заданным nodeName.

также можно использовать @Node:foreachChild:
^Node:foreachChild[$xNode;$.name(1);xChildNode;]{
	$xChildNode.firstChild.nodeValue
}[<br />]
который обработает все дочерние ноды с указанными именами.

P.S. приведённый код не проверял