使用php将标记值从一个xml文件替换/替换为另一个xml文件
需要将标记值从一个xml文件替换/替换为另一个xml文件 我需要使用php将标记值替换为另一个xml文件 文件1使用php将标记值从一个xml文件替换/替换为另一个xml文件,php,xml,Php,Xml,需要将标记值从一个xml文件替换/替换为另一个xml文件 我需要使用php将标记值替换为另一个xml文件 文件1 <complete> <list> <change>hello</change> <manage>world</manage> </list> <list> <change>hello1</change> <mana
<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>
你好
世界
你好
世界1
你好
世界2
文件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>
复制品
复制品
副本1
副本1
副本2
副本2
O/p
复制品
世界
副本1
世界1
副本2
世界2
我需要标记管理从第一个xml文件到第二个xml文件的替换。给您:
$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);
这个问题不够具体,请阅读我们对正文所做的修改。好的,我来看看。(1)我根本不推荐
preg\uuu
。查看simplexml
或DOM
进行解析,在这个站点上有很多很好的例子。(2) 然后写一些代码,编辑你的问题,添加代码,并特别询问细节。谢谢佩德罗,当我有多个集合的时候。整个文件中仅替换第一个集合标记。为了更清楚地理解,我对正文进行了编辑。重复世界重复1世界重复2世界但我的预期输出应与bodyFile1和File2中的一样,具有完全相同的匹配数?匹配项按顺序编号?与duplicate1 duplicate2一样,Diplicate3您引用的标记和XML rite的结构也是相同的匹配项。那么是的。。这就是一个例子。标记具有随机生成的值。它不会是连续的
$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);
<complete>
<list>
<change>duplicate</change>
<manage>world</manage>
</list>
</complete>