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\">
$t
</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>";