Показать сообщение отдельно
Старый 30.03.2006, 18:17   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Объяснять неохота, существует масса вариантов, но вот Вам пример рекурсивного кода, который ищет узел с заданным именем сквозь весь документ:
PHP код:
public XMLNode getXMLNodeByTagName(XMLNode _parentNodestr _tagName)
{
    
XMLNode     xmlNode;
    
XMLNode     recursiveNode;
    
XMLNodeList xmlNodeList;
    
int         i;
    ;
    if (!
_parentNode)
        return 
null;

    if (
_parentNode.nodeName() == _tagName)
        return 
_parentNode;

    if (
_parentNode && _parentNode.hasChildNodes())
    {
        
xmlNodeList _parentNode.childNodes();

        for (
i=0i<xmlNodeList.length(); i++)
        {
            
xmlNode     xmlNodeList.item(i);
            if (
xmlNode.nodeName() == _tagName)
                return 
xmlNode;
            
recursiveNode this.getXMLNodeByTagName(xmlNode_tagName);
            if (
recursiveNode)
                return 
recursiveNode;
        }
    }
    return 
null;

Запускается вся процедура так:
xmlNode = docType.getXMLNodeByTagName(inputDocument.root(), _tagName);