php xml解析器->;选择表格或选项

php xml解析器->;选择表格或选项,php,xml,Php,Xml,我正在寻找一种解析如下内容的方法: <xml> <data> <name>zyx</name> <value>xyz<value> </data> <data> <name>cba</name> <value>abc</value> </data>

我正在寻找一种解析如下内容的方法:

<xml>
    <data>
        <name>zyx</name>
        <value>xyz<value>
    </data>
    <data>
        <name>cba</name>
        <value>abc</value>
    </data>
</xml>

zyx
xyz
中国篮球协会
abc
把它变成这样:

<SELECT>
      <OPTION VALUE="xyz">zyx</OPTION>
      <OPTION VALUE="abc">cba</OPTION>
</SELECT>

zyx
中国篮球协会
只使用php,这样如果客户机要查看我的源代码,他们只会看到select选项,而不是js解析器(js解析器看起来很混乱,并显示正在解析的xml文件的位置。有没有办法使用php实现这一点?如何使用变量输入

function select($tid, $t, $xml, $name, $iid, $elname, $vname, $nname)
{

    $file = file_get_contents("modules/xml/$xml.xml");
    $select = new SimpleXMLElement($file);

    return "
        <TR>
      <TD ID=\"$tid\">
         &nbsp;$t&nbsp;
        </TD>
        <TD ID=\"$tid\">
        <SELECT NAME=\"$name\">";
   foreach($select->$elname as $options)
   {
   return"
   <OPTION VALUE=\"$OPTIONs->value\">
      $OPTIONs->name
   </OPTION>\n";
   }
        return
}
函数选择($tid、$t、$xml、$name、$iid、$elname、$vname、$nname)
{
$file=file_get_contents(“modules/xml/$xml.xml”);
$select=新的SimpleXMLElement($file);
返回“
$t
";
foreach($select->$elname作为$options)
{
返回“
$OPTIONs->name
\n”;
}
返回
}

使用
simplexmlement()的示例


这可以用来加载外部文档吗?是的,要加载外部文档,只需使用
simplexml\u load\u file()
而不是
new simplexmlement()
。我也用这种方式更新了我的答案。我更新的问题可能会对我当前的问题有更多的帮助,因为您正在使用
foreach($select->$elname as$options)
您需要将
$OPTIONs->value
更改为
$OPTIONs->value
并将
$OPTIONs->name
更改为
$OPTIONs->name
!=
$OPTIONs
。此外,您需要在函数结束时关闭单元格和行->
。此外,除非我错了,
返回
转到
print
echo
,因为在函数中的第一次
返回之后,不会返回任何其他内容。
$xml = "
 <xml>
  <data>
   <name>zyx</name>
   <value>xyz</value>
  </data>
  <data>
   <name>cba</name>
   <value>abc</value>
  </data>
 </xml>";

$select = new SimpleXMLElement($xml);

echo "<select>";
foreach($select->data as $options){
    echo "<option value='$options->value'>$options->name</option>";
}
echo "</select>";
<select>
 <option value='xyz'>zyx</option>
 <option value='abc'>cba</option>
</select>
$select = simplexml_load_file('xmlFile.xml');

echo "<select>";
foreach($select->data as $options){
    echo "<option value='$options->value'>$options->name</option>";
}
echo "</select>";