PHP DOM dizisi - ilk öğeyi kesmek - bunu yapmak için daha iyi bir yolu

0 Cevap php

Ben gerçekten şaşırıp kalmış olduğumu ve daha iyi bir fikri uygulamak için nasıl bilmiyorum. Yani, biz bir XML dosyası var:

alt text

Ben işlevi dom_to_array tarafından bir dizi var () var

function dom2array($node) {$result = array(); 
if($node->nodeType == XML_TEXT_NODE) { 
    $result = $node->nodeValue; 
} 
else { 
    if($node->hasAttributes()) { 
        $attributes = $node->attributes; 
        if(!is_null($attributes))  
            foreach ($attributes as $index=>$attr)  
                $result[$attr->name] = $attr->value; 
    } 
    if($node->hasChildNodes()){ 
        $children = $node->childNodes; 
        for($i=0;$i<$children->length;$i++) { 
            $child = $children->item($i); 
            if($child->nodeName != '#text') 
            if(!isset($result[$child->nodeName])) 
                $result[$child->nodeName] = $this->dom2array($child); 
            else { 
                $aux = $result[$child->nodeName]; 
                $result[$child->nodeName] = array( $aux ); 
                $result[$child->nodeName][] = $this->dom2array($child); 
            } 
        } 
    } 
} 
return $result; 

}

YAPI - I first XML öğesi içeren bir dizi var.

Array
--STRUCTURE
----PAGE
----PAGE
-- -- --PAGE
----PAGE

Yani asıl soru bu dizi benziyor nasıl olun:

Array
----PAGE
----PAGE
-- -- --PAGE
----PAGE

Bunu iyi arkadaş nasıl yapılacağını - i diziye "yapısı" dahil etmek gerekmez, DOM işlevleri tarafından yaratmak mümkün mü?!

0 Cevap