data,基于发布的名称从我的xml文件中的值。
这是我的 xml 文件:
<object>
<name>test 1</name>
<data>some data</data>
<value>1</value>
</object>
<object>
<name>test 2</name>
<data>some data 2</data>
<value>2</value>
</object>
这是我的 php 文件:
$wijzignaam = $_POST['wijzignaam'];
$xmlfile = file_get_contents('../xmlfile.xml');
$xml = new SimpleXMLElement($xmlstr);
$xpath = $xml->xpath('object/name["'.$wijzignaam.'"]');
print_r($xpath);
这将返回一个空数组,我一直在寻找答案一段时间,但我没有找到任何东西,所以任何帮助不胜感激
这里有几个问题:
- XML 没有根元素,因此无效。
xpath
中的路径不完整xpath
中的条件语法错误
ad 1:用根节点将 XML 括起来,如下所示:
<root>
<object>
<name>test 1</name>
</object>
</root>
AD 2 和 3:路径和条件语法:
$xpath = $xml->xpath("/root/object[name = 'test 1']");
或
$xpath = $xml->xpath("//object[name = 'test 1']");
查看实际操作:https://eval.in/517818