0

パラメータに基づいて目的の XML タグを表示する際に問題が発生しました。私はこれにかなり慣れていません。

XML の例:

<car name="Toyota">
   <model nr="123" yeardate="2010">
      <owner ssn="123456789" name="Tom"/>
      <owned years="0" months="6"/>
   </model>
</car>
<car name="Volvo">
   <model nr="222" yeardate="2009">
      <owner ssn="345364774" name="John"/>
      <owned years="0" months="8"/>
   </model>
</car>
<car name="Fiat">
   <model nr="333" yeardate="2010">
      <owned years="0" months="0"/>
   </model>
</car>

問題は、PHP ドキュメントで作成した HTML フォームに基づいて表示される車を選択できるようにしたいということです。そこで、PHP でフォームを作成し、POST の値を XSL ドキュメントに送り返し、このパラメーター値に基づいて車を表示したいと考えています。また、自動車 Fiat には所有者がいないことに注意してください。XSL ドキュメントで POST の値を取得できますが、このパラメーターをどのように使用するのかわかりません。

これがどのように変わると私が想像するか: トヨタがその形で選ばれたとしましょう。

car name=Toyota

model nr=123 yeardate=2010

owner ssn=123456789 name=tom

owned years=0 months=6

タグ名とすべての属性を含めたい。

4

1 に答える 1

0

PHP を使用している場合、XSL は必要ないかもしれません。SimpleXMLを見てください。

<?php
$xmlString = '<root>
    <car name="Toyota">
       <model nr="123" yeardate="2010">
          <owner ssn="123456789" name="Tom"/>
          <owned years="0" months="6"/>
       </model>
    </car>

    <car name="Fiat">
       <model nr="333" yeardate="2010">
          <owned years="0" months="0"/>
       </model>
    </car>
</root>';

$xml = new SimpleXMLElement($xmlString);

foreach ($xml->children() as $second_gen) {
    if ( (string) $second_gen['name'] == "Toyota") {
        echo $second_gen->asXML();
    }
}
?>
于 2013-05-15T12:12:20.800 に答える