0

次の XML ドキュメントがあり、そこから各ノードの子 ( < KA>/< kod> および < TPV>/< TPV>/...< A> ) を取得する必要があります。理解を深めるために、ここに私が必要なものがあります:

<KATU/KA/kod> | <KATU/TPV/TPVS/TN> | <KATU/TPV/TPVS/TSA/TS/A>
k11 | VP11 | 11
k21 | VP21 | 21
k31 | VP31 | 31
k32 | VP32 | 32
k33 | VP33 | 33
k41 | VP41 | 41
k41 | VP41 | 42
k41 | VP41 | 43
k51 | VP51 | 51

主な問題 (たとえば、例 k41 と彼の 41,42,43 の値) は、取得する必要があるノードが子ではなく、< KA>< TPV>< KA>< TPV> の順序で兄弟であるということです...

したがって、すべての < A> ノード (< TPV>< TPVS>< TSA>< TS> の子) を見つけて、その最上位の兄弟を取得する必要があります (彼の親 < TPV> の最上位の兄弟が < KA> であることを意味します) < KA を取得する>/<コード>

あなたが私の問題を理解してくれることを願っています。私の英語のせいで、これ以上説明することはできません。

返信ありがとう

ここに私のXMLがあります:

<?xml version="1.0" encoding="utf-8" ?>  
<PV>
    <PRAV_VZTAHY>
        <TYPPRA>
            <TN>VP</TN> 
        </TYPPRA>
    </PRAV_VZTAHY>
    <OPRAV_SUBJEKT>
        <CHAROS_KOD>1112</CHAROS_KOD> 
        <OPSUB_ADRESA>
            <adresa>
                <nazev_ulice>xxx</nazev_ulice> 
            </adresa>
        </OPSUB_ADRESA>
    </OPRAV_SUBJEKT>
    <OKRESY>
        <OKRES>
            <nuts4>123456</nuts4> 
            <name>asdf</name> 
        </OKRES>
        <OBCE>
            <OBEC>
                <kod>594580</kod> 
                <name>mn</name> 
            </OBEC>
            <KATU>
                <KA>
                    <kod>k11</kod> 
                    <name>q11</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP11</TN> 
                        <TSA>
                            <TS>
                                <A>11</A> 
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
            </KATU>
        </OBCE>
        <OKRES>
            <nuts4>46786</nuts4> 
            <name>qwer</name> 
        </OKRES>
        <OBCE>
            <OBEC>
                <kod>525804</kod> 
                <name>mn</name> 
            </OBEC>
            <KATU>
                <KA>
                    <kod>k21</kod> 
                    <name>q21</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP21</TN> 
                        <TSA>
                            <TS>
                                <A>21</A> 
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
            </KATU>
            <OBEC>
                <kod>540978</kod> 
                <name>mn</name> 
            </OBEC>
            <KATU>
                <KA>
                    <kod>k31</kod> 
                    <name>q31</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP31</TN> 
                        <TSA>
                            <TS>
                                <A>31</A> 
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
                <KA>
                    <kod>k32</kod> 
                    <name>q32</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP32</TN> 
                        <TSA>
                            <TS>
                                <A>32</A>
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
                <KA>
                    <kod>k33</kod> 
                    <name>q33</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP33</TN> 
                        <TSA>
                            <TS>
                                <A>33</A>  
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
            </KATU>
            <OBEC>
                <kod>541265</kod> 
                <name>mn</name> 
            </OBEC>
            <KATU>
                <KA>
                    <kod>k41</kod> 
                    <name>q41</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP41</TN> 
                        <TSA>
                            <TS>
                                <A>41</A> 
                            </TS>
                            <TS>
                                <A>42</A>  
                            </TS>
                            <TS>
                                <A>43</A> 
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
            </KATU>
            <OBEC>
                <kod>553387</kod> 
                <name>mn</name> 
            </OBEC>
            <KATU>
                <KA>
                    <kod>k51</kod> 
                    <name>q51</name> 
                </KA>
                <TPV>
                    <TPVS>
                        <TN>VP51</TN> 
                        <TSA>
                            <TS>
                                <A>51</A> 
                            </TS>
                        </TSA>
                    </TPVS>
                </TPV>
            </KATU>
        </OBCE>
    </OKRESY>
</PV>

ここに私のスタートがあります:

foreach ($xml->xpath("//KATU") as $ku) {
        print_r($ku);
        print "<hr />";
}
4

1 に答える 1