0
我有以下XML文檔,我需要爲每個節點獲得他的孩子(< KA>/< kod>和< TPV>/< TPV>/... < A>)。爲了更好地理解,這裏就是我需要:PHP - 對XML文件的XPATH請求 - 子對象和兄弟
<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的孩子> <熱塑性硫化彈性體> < TSA> < TS>),然後獲取其頂部兄弟姐妹(意思是他的父母< TPV>兄弟姐妹是< KA>)得到< KA>/< kod>
我希望你能夠支持我的問題,我不能更多地描述我的英語。
感謝您的回覆
這裏是我的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 />";
}
Thx非常卡普里。我會在下班後檢查它 – porosman 2015-02-11 14:58:50
目前,您的答案不僅僅是一系列鏈接。如果Stackoverflow上的其他問題已經對這個問題有了答案,請不要在這裏回答,因爲那麼問題應該以重複的方式關閉。如果沒有重複的帖子,請擴展此答案以包含解決問題的所有必要信息。 – 2015-02-11 15:13:02