需要将一个xml文件中的标记值替换/替换为另一个xml
我需要使用php
将标记值替换为另一个xml文件档案1
<complete>
<list>
<change>hello</change>
<manage>world</manage>
</list>
<list>
<change>hello1</change>
<manage>world1</manage>
</list>
<list>
<change>hello2</change>
<manage>world2</manage>
</list>
</complete>
文件2
<complete>
<list>
<change>duplicate</change>
<manage>duplicate</manage>
</list>
<list>
<change>duplicate1</change>
<manage>duplicate1</manage>
</list>
<list>
<change>duplicate2</change>
<manage>duplicate2</manage>
</list>
</complete>
O / P
<complete>
<list>
<change>duplicate</change>
<manage>world</manage>
<change>duplicate1</change>
<manage>world1</manage>
<change>duplicate2</change>
<manage>world2</manage>
</list>
</complete>
我需要标记管理从第一个xml文件替换到第二个xml文件。
答案 0 :(得分:0)
你走了:
$file1 = file_get_contents("file1.xml");
$file2 = file_get_contents("file2.xml");
preg_match_all('%<manage>(.*?)</manage>%m', $file1, $match, PREG_PATTERN_ORDER);
$xmlmatch = $match[1][0];
$newxml = preg_replace('%<manage>.*?</manage>%m', "<manage>$xmlmatch</manage>", $file2);
file_put_contents("file2.xml", $newxml);
注意:确保file2.xml
可写。
处理后file2.xml
看起来像:
<complete>
<list>
<change>duplicate</change>
<manage>world</manage>
</list>
</complete>