用php处理动态xml

用php处理动态xml,php,mysql,xml,Php,Mysql,Xml,我处理许多不同类型的xml文件。我将这些内容加载到mysql数据库中。问题是每次我都需要定义我想要选择的标签 是否有一个PHPDOM对象函数可以迭代所有标记并将它们提供给我 这是我的示例xml <products> <product> <name>Name of product</name> <categories> <category>Apparel&l

我处理许多不同类型的xml文件。我将这些内容加载到mysql数据库中。问题是每次我都需要定义我想要选择的标签

是否有一个PHPDOM对象函数可以迭代所有标记并将它们提供给我

这是我的示例xml

<products> 
   <product> 
        <name>Name of product</name> 
        <categories> 
            <category>Apparel</category> 
           <category>Trousers</category> 
           <category>Blue</category>
        </categories> 
        <description>Blue trousers</description>
        <price>599.00</price> <regularPrice>599.00</regularPrice>
   </product>
</products>
输出不应该是值,而是XML标记的实际名称,在本例中应该是 产品,产品,名称,类别,类别,描述,价格

获取这些值时,我可以通过连接表动态地将它们指向始终保存在正确的表和正确的字段中

*请尝试此代码,它将按预期工作*


但这还不包括我想做的事情?我已经读了一遍又一遍。。。对于一个新手来说,也许是朝着正确的方向走了一点,而不仅仅是投反对票。。!它打印每个孩子我怎么能限制它只通过一个产品?
$xmlD = '
 <products> 
   <product> 
        <name>Name of product</name> 
        <categories> 
            <category>Apparel</category> 
           <category>Trousers</category> 
           <category>Blue</category>
        </categories> 
        <description>Blue trousers</description>
        <price>599.00</price> <regularPrice>599.00</regularPrice>
   </product>
</products>
';
$xml = simplexml_load_string($xmlD);

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
  {
  echo $child->getName(). "<br />";
  foreach($child->children() as $innerChild):
      echo $innerChild->getName(). "<br />";
  endforeach;
 }