【发布时间】:2012-01-08 18:20:00
【问题描述】:
从本教程 - 在 PHPFreaks 上添加节点的部分中,我确实在那里发帖,但没有收到奇怪的回复,因为教程是由他们编写的。
http://www.phpfreaks...ndling-xml-data
当我使用我的 xml 文件时,它会创建节点但不会插入新数据。没有页面错误。我确定我只是错过了一些非常简单的事情,经过数小时的尝试,我现在将鞠躬寻求帮助。
这是我正在使用的脚本
<?php
// isbn => pages
$page_numbers = array(
'1234' => '654', // insert data into catparent node
'5678' => '789', // insert data into catparent node
);
$dom = new DOMDocument();
$dom->load('edtest.xml');
$xpath = new DOMXPath($dom);
$items = $xpath->query('item');
foreach($items as $item)
{
$item->appendChild($dom->createElement('catparent', $page_numbers[$item->getAttribute('catcode')]));
}
$dom->save('edtest_new.xml');
?>
我的 XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<catcode>1234</catcode>
<catdesc>Systems - System Bundles</catdesc>
<price_cost>999.95</price_cost>
<price_sell>999.95</price_sell>
</item>
</items>
输出 XML
<?xml version="1.0" encoding="UTF-8"?>
<items>
<item>
<catcode>1234</catcode>
<catdesc>Systems - System Bundles</catdesc>
<price_cost>999.95</price_cost>
<price_sell>999.95</price_sell>
<catparent></catparent> // it creates but does not insert required data
</item>
</items>
它运行脚本创建所需的节点,但它不插入所需的数据。该脚本的目标是找到<catcode> = 1234 并添加一个新的<catparent> </catparent>,其中包含数组中所需的数据。
如果有更好的方法来实现结果或只是需要的更正。
谢谢
【问题讨论】: