XML文書の特定の情報を表示するページを作成しようとしています。私はこれを行うための最善の方法を見つけたいと思っています。SimpleXML PHP書式設定
My XMLは、Army Builderというプログラムから構築された大きなリストです。私は、各チームの特定の情報を動的に取得しようとしています。
は今、私のコードのサンプルは次のようになります。
<?PHP
//THIS SECTION FINDS THE SQUAD/UNIT NAME OF THE FIRST ENTITY
foreach($squad->xpath('entity') as $squadSub){
$squadSubName = stripslashes($squadSub['name']);
$squadSubCount = $squadSub['count'];
foreach($squadSub->xpath('unitstat[@id="WS"]/@value') as $squadSubStat){
$unitWs = $squadSubStat;
}
?>
<tr>
<td><?= $squadSubCount; ?></td><td><?= $squadSubName; ?></td><td><?= $unitWs; ?></td><td><?= $unitBs; ?></td><td><?= $unitSt; ?></td><td><?= $unitTo; ?></td><td><?= $unitWo; ?></td><td><?= $unitIn; ?></td><td><?= $unitAt; ?></td><td><?= $unitLd; ?></td><td><?= $unitaSv; ?></td><td><?= $unitiSv; ?></td><td><?= $unitcSv; ?></td>
</tr>
「unitWS」を見つけた行は、私が求めていますものです。さて、あなたがxpath全体に従えば、それは//squad/entity[@name='Nameoftheentity']/unitstat[@id="WS"]/@value
となり、それは私にユニットのWSを与えます。私はXMLから8-13個の値を引き出す必要があります。
私はあなたのXMLの/ unitstatセクションが表示されます:私は動的にそれぞれのでは、BSでは、LD、ST、に、Wsは、臥及び保存の値を引く必要がある
<unitstat id="iaStruPnt" name="Structure" value="-" />
<unitstat id="iaVdShld" name="Void Shld" value="-" />
<unitstat id="vdrAt" name="At" value="-" />
<unitstat id="vdrBS" name="BS" value="-" />
<unitstat id="vdrMass" name="Mass Point" value="-" />
<unitstat id="vdrSize" name="Size" value="Small" />
<unitstat id="vdrTpt" name="Transport" value="0" />
<unitstat id="vdrVehSv" name="Veh Save" value="-" />
<unitstat id="vdrWS" name="WS" value="-" />
<unitstat id="vdrWpnAP" name="AP" value="-" />
<unitstat id="vdrWpnRang" name="Range" value="-" />
<unitstat id="vdrWpnSh" name="Shots" value="-" />
<unitstat id="vdrWpnStr" name="S" value="0" />
<unitstat id="vdrWpnType" name="Type" value="0" />
<unitstat id="At" name="At" value="2/3" />
<unitstat id="BS" name="BS" value="4" />
<unitstat id="Fam" name="Familiar" value="0" />
<unitstat id="Front" name="FA" value="0" />
<unitstat id="Group" name="Grp" value="" />
<unitstat id="In" name="In" value="4" />
<unitstat id="Ld" name="Ld" value="10" />
<unitstat id="Rear" name="RA" value="0" />
<unitstat id="Save" name="Save" value="2+/5(i)" />
<unitstat id="Side" name="SA" value="0" />
<unitstat id="St" name="St" value="4" />
<unitstat id="To" name="To" value="4" />
<unitstat id="WS" name="WS" value="4" />
<unitstat id="Wo" name="Wo" value="1" />
<unitstat id="iaAmmo" name="Ammo Load" value="0" />
<unitstat id="iaCrew" name="Crew" value="-" />
<unitstat id="iaMinRge" name="Min Rge" value="n/a" />
<unitstat id="iaPowField" name="PowerField" value="-" />
を発見されたユニット。私が可能と思う唯一の方法は、これをタイプすることです:
foreach($squadSub->xpath('unitstat[@id="WS"]/@value') as $squadSubStat){
$unitWs = $squadSubStat;
}
すべての値と各サブグループのそれぞれについて、これを入力することです。必要な特定のIDからこれらの値をすべて取得する簡単な方法はありますか?
私は配列を作成してから呼び出すべきだと思いますか?
詳細情報が必要な場合はお知らせください。
非常にニース!!エキスパートがそこにいる! ありがとうございます! 20ゴールド! – ntgCleaner