我的问题可能写得很愚蠢,但我已经尽力了,我提前道歉)
我有一个 XML 文件。 我需要运行这样的查询:
$xml->shop->offers->offer
问题是我从变量中获取了这条路径:
$path = 'shop->offers->offer'
但是这样不行:
$xml = simplexml_load_file('example.com');
$exampleElement = $xml->$path;
如何修复代码使其正常工作?
您可以将路径拆分为其组件并循环遍历它们以导航 SimpleXML 对象。
实现此目的的一种方法是使用explode()。它是一个内置的 PHP 函数,用于根据输入字符串将被拆分的指定子字符串将字符串拆分为子字符串数组。在这种情况下,它可以用于将 $path 变量中存储的路径拆分为组件数组,然后使用这些组件在 XML 结构中移动。
分割路径,然后循环获取每个嵌套属性。
$props = explode("->", $path);
$el = $xml;
foreach ($props as $prop) {
$el = $el->$prop;
}
var_dump($el);