我有以下 xml 文档:
<shop id="123" name="xxx">
  <product id="123456">
    <name>Book</name>
    <price>9.99</price
  </product>
  <product id="789012">
    <name>Perfume</name>
    <price>12.99</price
  </product>
  <product id="345678">
    <name>T-Shirt</name>
    <price>9.99</price
  </product>
</shop>
<shop id="456" name="yyy">
  <product id="123456">
    <name>Book</name>
    <price>9.99</price
  </product>
</shop>
我有以下循环来收集每种产品的信息:
$data_feed = 'www.mydomain.com/xml/compression/gzip/';
$xml = simplexml_load_file("compress.zlib://$data_feed");
        foreach ($xml->xpath('//product') as $row) {
                        $id = $row["id"]; // product id eg. "123456"
                        $name = $row->name;
                        $price = $row->price;
        // update database etc.
        }
但是,我还想收集每个产品的父商店的信息(“id”和“name”)。
我可以轻松地将我的 xpath 更改为从商店而不是产品开始,但我不确定最有效的方法是在我的 foreach 中构建一个额外的循环来循环每个缩进的产品
说得通?