【问题标题】:XML Import via PHP通过 PHP 导入 XML
【发布时间】:2013-03-06 15:52:29
【问题描述】:

我有一些看起来有点像这样的 XML:

<item code="1">
  <description>This is an item.</description>
  <prices>
     <price nett="1.50"/>
     <price code="RPP" nett="20.33" />
  </prices>
</item>

我正在尝试使用 PHP 将其导入我们的数据库,如下所示:

$xmlurl = 'thexmlfile.xml';

$dom = new DOMDocument();   
$dom->load($xmlurl);

$records = $dom->getElementsByTagName('item');

foreach($records as $record) {

    $descs = $record-> getElementsByTagName('description');
    $desc = $descs->item(0)->nodeValue;
    echo $desc . '<br />';  

}

效果很好。它提取描述。但是,如何获取商品代码和价格部分?循环内循环?]

谢谢

【问题讨论】:

  • 但是...您的所有元素都没有 id description
  • 一件商品可以有多个价格吗?
  • @WaleedKhan 编辑...:/
  • @Awemo - 是的,伙计,因此是“价格”元素。

标签: php xml import


【解决方案1】:

已编辑:我更正了代码,分别遍历了每件商品的价格。

要获取商品代码,请执行以下操作;

$record->getAttribute('code');

您可以像您说的那样在循环内循环遍历该商品的价格。要访问价格,请执行以下操作;

$pricesTag = $record->getElementsByTagName('prices');
$prices = $pricesTag->item(0)->getElementsByTagName('price');

然后重复循环和访问价格的节点值和属性的恶作剧。

来源:similar question

工作示例:corrected code

【讨论】:

  • 嗨@Awemo,我刚刚发现当我拥有超过 1 个项目时这不起作用。它遍历所有价格...有什么解决办法吗?
猜你喜欢
  • 2011-08-10
  • 1970-01-01
  • 2014-10-10
  • 1970-01-01
  • 2013-08-30
  • 2011-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多