在SimpleXMLElement中搜索和替换

时间:2013-02-25 14:54:07

标签: php xml replace simplexml str-replace

我遍历XML文件。一旦找到某个节点,我就会获取它的值,并在整个文档中更改它的全部内容。

XML

<?xml version="1.0" encoding="UTF-8"?>
<catalog catalog-id="my_catalog">
<product product-id="11111111">
    ......
    <new-id>aaaaaaa</new-id>
</product>
<product product-id="2222222">
    ......
    <new-id>bbbbbbb</new-id>
</product>
</catalog>

对于每个<product>,当我找到<new-id>时,我需要用<product product-id="">替换它,这很好,但我还需要用{{替换所有出现的11111111 1}}在整个XML文档中。

PHP

aaaaaaa

是否有$cotalog = new SimpleXMLElement($file); header('Content-Type: text/xml'); foreach ($cotalog as $product) { if ($product->getName() == 'product') { $product['product-id'] = $product->{'new-id'}; // code here to replace all occurrences of $product['product-id'] with $product->{'new-id'} ... } } echo $cotalog->asXML(); 种类型的方法用不同的字符串替换所有出现的字符串值?

0 个答案:

没有答案