[ create a new paste ] login | about

Link: http://codepad.org/bC13JSs4    [ raw code | output | fork ]

PHP, pasted on Dec 7:
<?
$xml = '<BrowseNodes>
    <BrowseNode>
        <BrowseNodeId>11079</BrowseNodeId>
        <Name>Politics</Name>
        <Ancestors>
            <BrowseNode>
                <BrowseNodeId>53</BrowseNodeId>
                <Name>Nonfiction</Name>
                <Ancestors>
                    <BrowseNode>
                        <BrowseNodeId>1000</BrowseNodeId>
                        <Name>Subjects</Name>
                        <IsCategoryRoot>1</IsCategoryRoot>
                        <Ancestors>
                            <BrowseNode>
                                <BrowseNodeId>283155</BrowseNodeId>
                                <Name>Books</Name>
                            </BrowseNode>
                        </Ancestors>
                    </BrowseNode>
                </Ancestors>
            </BrowseNode>
        </Ancestors>
    </BrowseNode>
    <BrowseNode>
        <BrowseNodeId>11232</BrowseNodeId>
        <Name>Social Sciences</Name>
        <Ancestors>
            <BrowseNode>
                <BrowseNodeId>53</BrowseNodeId>
                <Name>Nonfiction</Name>
                <Ancestors>
                    <BrowseNode>
                        <BrowseNodeId>1000</BrowseNodeId>
                        <Name>Subjects</Name>
                        <IsCategoryRoot>1</IsCategoryRoot>
                        <Ancestors>
                            <BrowseNode>
                                <BrowseNodeId>283155</BrowseNodeId>
                                <Name>Books</Name>
                            </BrowseNode>
                        </Ancestors>
                    </BrowseNode>
                </Ancestors>
            </BrowseNode>
        </Ancestors>
    </BrowseNode>
</BrowseNodes>';

$simplexml = simplexml_load_string($xml);
$return = array();

foreach($simplexml->BrowseNode as $node){
 $return[] = array(
    (string)$node->BrowseNodeId => (string)$node->Name,
    (string)$node->Ancestors->BrowseNode->BrowseNodeId => (string)$node->Ancestors->BrowseNode->Name,
    (string)$node->Ancestors->BrowseNode->Ancestors->BrowseNode->BrowseNodeId => (string)$node->Ancestors->BrowseNode->Ancestors->BrowseNode->Name,
    (string)$node->Ancestors->BrowseNode->Ancestors->BrowseNode->Ancestors->BrowseNode->BrowseNodeId => (string)$node->Ancestors->BrowseNode->Ancestors->BrowseNode->Ancestors->BrowseNode->Name,
 );
}

print_r($return);


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Array
(
    [0] => Array
        (
            [11079] => Politics
            [53] => Nonfiction
            [1000] => Subjects
            [283155] => Books
        )

    [1] => Array
        (
            [11232] => Social Sciences
            [53] => Nonfiction
            [1000] => Subjects
            [283155] => Books
        )

)


Create a new paste based on this one


Comments: