PHP / XPath: SimpleXML kullanarak XML atası düğümleri üzerinden yineleme

0 Cevap php

I-BrowseNodeId ve Name karşılık gelen değerlerin elde etmek amacıyla, Ancestors düğümleri döngü gerekir. Ben bu kullanarak XPath nasıl yapabilirim? Ben aşağıdaki gibi bir şey çalışıyorum, ama işe yaramıyor:

//BrowseNode[1]//Ancestors[1]/BrowseNode/BrowseNodeId/text()
//BrowseNode[1]//Ancestors[1]/BrowseNode/Name/text()

Ben XPath'ın //Ancestors kısmı aslında tüm XML ağacını arıyor düşünüyorum. Ne yapmam gerekiyor gerekli olan değerleri almak için her düğüm ziyaret olduğunu. Bunu nasıl yaparsınız? Aşağıdaki örnekte, ben istiyorum: Avrupa -> Tarih -> Konular -> Kitaplar.

Örnek XML:

    <BrowseNode>
        <BrowseNodeId>4952</BrowseNodeId>
        <Name>France</Name>
        <Ancestors>
            <BrowseNode>
                <BrowseNodeId>4935</BrowseNodeId>
                <Name>Europe</Name>
                <Ancestors>
                    <BrowseNode>
                        <BrowseNodeId>9</BrowseNodeId>
                        <Name>History</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>
        </Ancestors>
    </BrowseNode>

0 Cevap