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 文档,现在我想根据这个参数值显示汽车。另外,请注意菲亚特汽车没有所有者。我能够在我的 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 回答