将标记从一个xml文件替换或替换为另一个xml文件

时间:2016-07-01 06:23:17

标签: php xml xslt command-line

我有两个XML文件,我想替换/替换两个XML文件中的条目。

例如下面的test1.xml中,它只列出名称=""这是唯一相同的东西,其他标签是空的。然后我将test2.xml与除年份之外的所有内容一起使用,因此我想填写标签的空白或者使用命令行(批处理)或php替换信息。

test1.xml

<game name="test1" image="">
    <description>test1</description>
    <manufacturer></manufacturer>
    <year></year>
    <genre>1985</genre>
    <rating></rating>
</game>
    <game name="test2" image="">
    <description>test2</description>
    <manufacturer></manufacturer>
    <year>1984</year>
    <genre></genre>
    <rating></rating>
</game>
    <game name="test3" image="">
    <description>test3</description>
    <manufacturer></manufacturer>
    <year>1986</year>
    <genre></genre>
    <rating></rating>
</game>

test2.xml

<game name="test1" index="true" image="">
    <description>test1</description>
    <manufacturer>Activision</manufacturer>
    <year></year>
    <genre>Olympic/Sports</genre>
    <rating>HSRS - GA (General Audience)</rating>
</game>
<game name="test2" index="" image="">
    <description>test2</description>
    <manufacturer>Parker Brothers</manufacturer>
    <year></year>
    <genre>Action</genre>
    <rating>HSRS - GA (General Audience)</rating>
</game>
<game name="test3" index="true" image="">
    <description>test3</description>
    <manufacturer>Atari</manufacturer>
    <year></year>
    <genre>Sports</genre>
    <rating>HSRS - GA (General Audience)</rating>
</game>

我看了下面的代码replace / substitute a tag value from one xml file to another xml using php并让它工作但是它没有保留多个标签的所有信息,它只是使用了每个标签的第一个条目标签,所以说我有100个条目...替换它将所有标签替换为不保留所有个人信息的相同信息。

1 个答案:

答案 0 :(得分:0)

更好的方法可能是使用xslt。从test1复制选择性节点的内容。

干杯!