使用php进行动态xml处理

8bi*_*cat -1 php xml mysql

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

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

这是我的样本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>
Run Code Online (Sandbox Code Playgroud)

输出应该不是值,而是XML标签的实际名称,在这种情况下应该是 产品,产品,名称,类别,类别,描述,价格

获取这些值我可以通过连接表动态地指出它们,始终保存在右表和右侧字段中.

Sam*_*m T 5

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

$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;
 }
Run Code Online (Sandbox Code Playgroud)