在这种情况下,如何使用我的意思<set name = "height">
的值来获取"height"
标记中存储的名称和值?它的当前XML文件,我正在使用PHP。
<list>
<npc id="25001" name="Greyclaw Kutus" title="Raid Boss">
<set name="level" val="23"/>
<set name="radius" val="21"/>
<set name="height" val="43.5"/>
<set name="rHand" val="67"/>
<set name="lHand" val="633"/>
<set name="sp" val="67170"/>
<set name="hp" val="40330.25972324"/>
<set name="mp" val="231.96"/>
<set name="hpRegen" val="17.5347470979605"/>
</npc>
</list>
我做了这样的事情我不知道如何通过这个来整理整个文件:
<?php
$list = simplexml_load_file('25000-25999.xml');
if($list === false){
echo "File open error";
}
else {
foreach($list ->npc as $npc) {
$att = "height";
$val = $list->npc->xpath('set[@name="' . $att . '"]');
foreach ($val as $value) {
echo $value['val'];
}
}
答案 0 :(得分:0)
当您访问&#39;身高时?您正在使用$list->npc
作为XPath表达式的基础进行访问。这将每次给你第一个元素(并始终回显43.5)。您需要将其更改为使用$npc
,以便每次XPath相对于npc的当前元素时...
$val = $npc->xpath('set[@name="' . $att . '"]');