我有2个xml文件,每个文件有6000个标签 - 一个还包含许多其他数据,第二个 - 只有6000个标签。我想要做的是将doc 1中的标签替换为doc 2中的标签。因此,doc 2中的第1个替换doc 1中的1st,然后doc 2中的2nd替换doc 1中的2nd等... < / p>
Doc 1看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="Garmin Connect" version="1.1"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/11.xsd"
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:ns3="http://www.garmin.com/xmlschemas/TrackPointExtension/v1"
xmlns:ns2="http://www.garmin.com/xmlschemas/GpxExtensions/v3"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<metadata>
<link href="connect.garmin.com">
<text>Garmin Connect</text>
</link>
<time>2017-02-19T09:47:24.000Z</time>
</metadata>
<trk>
<name>Hawkesbury Cycling</name>
<type>cycling</type>
<trkseg>
<trkpt lat="51.5749163925647735595703125" lon="-2.309663258492946624755859375">
<ele>160.1999969482421875</ele>
<time>1989-12-31T02:06:36.000Z</time>
<extensions>
<ns3:TrackPointExtension>
<ns3:atemp>13.0</ns3:atemp>
<ns3:hr>98</ns3:hr>
<ns3:cad>0</ns3:cad>
</ns3:TrackPointExtension>
</extensions>
</trkpt>
<trkpt lat="51.57489853911101818084716796875" lon="-2.30963408946990966796875">
<ele>160.600006103515625</ele>
<time>1989-12-31T02:06:37.000Z</time>
<extensions>
<ns3:TrackPointExtension>
<ns3:atemp>13.0</ns3:atemp>
<ns3:hr>98</ns3:hr>
<ns3:cad>29</ns3:cad>
</ns3:TrackPointExtension>
</extensions>
</trkpt>
<trkpt lat="51.5748837031424045562744140625" lon="-2.309593521058559417724609375">
<ele>160</ele>
<time>1989-12-31T02:06:38.000Z</time>
<extensions>
<ns3:TrackPointExtension>
<ns3:atemp>13.0</ns3:atemp>
<ns3:hr>99</ns3:hr>
<ns3:cad>29</ns3:cad>
</ns3:TrackPointExtension>
</extensions>
</trkpt>
Doc 2看起来像这样:
<time>2017-02-19T09:47:24Z</time>
<time>2017-02-19T09:47:25Z</time>
<time>2017-02-19T09:47:26Z</time>
因此,我想要一种自动方式将文档2中的所有<time>Blah...</time>
内容替换为文档1 - 同时不会弄乱文档1的结构和其他内容。
任何想法???
所以......
doc 2中的第1行将替换doc 2中的第19行,doc 2的第2行将替换doc 2的第30行,doc 2的第3行将替换doc 1的第41行。所以我们这里有一个数字模式我们可以遵循 - 例如在第19行替换后的每11行......
我现在还格式化了doc 2,以便行号匹配doc 1,他们需要替换它们 - 例如,doc 1中的1st标记是第19行,现在在doc 2中它也是第19行,第2个标记在doc 1中是第30行,所以它在doc 2 ...