我有以下 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>的子节点)然后得到它的top兄弟(意思是他的父母<TPV>top兄弟是<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 />";
}