【发布时间】:2015-01-28 18:08:43
【问题描述】:
我正在尝试将 800 个唯一的 <REMARK>this is a remark</REMARK> 元素插入到现有的 800 个 XML 文件集中。我生成了 800 个文档,其中只有我想要插入到每个 XML 中的 <REMARK> 元素。我的想法是,我可以根据共享文件名将此元素插入到相应的 XML 文档中。例如,我在一个文件夹中有一个名为 WNYC-SCHK-2004-02-20-37540.xml 的 XML,其中只有此信息 <REMARK>Think of Spanish classical music and the name Manuel de Falla naturally comes to mind.</REMARK> 我想将该元素插入到文件中也命名为 WNYC-SCHK-2004-02-20-37540.xml,就在下面的 <CHANGETIME> 元素下方:
<?xml version="1.0" encoding="ISO-8859-1"?>
<ENTRIES>
<ENTRY>
<NUMBER>622</NUMBER>
<CLASS>Audio</CLASS>
<TITLE>WNYC-SCHK-2004-02-20-37540</TITLE>
<GENERATOR>DBM</GENERATOR>
<CREATOR>JPASSMOR</CREATOR>
<DATE>2015-01-06</DATE>
<DATUM>2015-01-06</DATUM>
<TIME>11:48:59</TIME>
<TIMESTAMP>2015-01-06 11:48:59</TIMESTAMP>
<LENGTH>00:58:53.920</LENGTH>
<DURATION>3533920</DURATION>
<SOFTDELETED>0</SOFTDELETED>
<NODELETE>0</NODELETE>
<READY>0</READY>
<PERFECT>0</PERFECT>
<FORARCHIVE>0</FORARCHIVE>
<ARCHIVING>0</ARCHIVING>
<ARCHIVED>0</ARCHIVED>
<GROWING>0</GROWING>
<NEW>0</NEW>
<INVALID>0</INVALID>
<LOWRESEXISTS>0</LOWRESEXISTS>
<KEYFRAMEEXISTS>0</KEYFRAMEEXISTS>
<VSAT>0</VSAT>
<LOOP>0</LOOP>
<INVISIBLE>0</INVISIBLE>
<SHAREDAUDIO>0</SHAREDAUDIO>
<TRANSMITTED>0</TRANSMITTED>
<ROYALTIES>0</ROYALTIES>
<WITHTEXTFILE>0</WITHTEXTFILE>
<INDEXED>0</INDEXED>
<PERSONALRADIO>0</PERSONALRADIO>
<REQUESTDEARCHIVE>0</REQUESTDEARCHIVE>
<REPLFLAGS>0</REPLFLAGS>
<STATE>Existing</STATE>
<AUTHOR>ARCHIVES</AUTHOR>
<EDITOR>JPASSMOR</EDITOR>
<CHANGEUSER>JPASSMOR</CHANGEUSER>
<CHANGEDATE>2015-01-26</CHANGEDATE>
<CHANGETIME>09:33:07</CHANGETIME>
<FILESIZE>628255824</FILESIZE>
<AUDIOFORMAT>Wave,BWF,RIFF</AUDIOFORMAT>
<AUDIOMODE>Stereo</AUDIOMODE>
<SAMPLERATE>44100</SAMPLERATE>
<BITRATE>0</BITRATE>
<TEXTLENGTH>00:00:00.000</TEXTLENGTH>
<TEXTDURATION>0</TEXTDURATION>
<BROADCASTINGS>0</BROADCASTINGS>
<MARKIN>00:00:00.000</MARKIN>
<MARKOUT>00:58:53.920</MARKOUT>
</ENTRY>
</ENTRIES>
让它看起来像这样
<?xml version="1.0" encoding="ISO-8859-1"?>
<ENTRIES>
<ENTRY>
<NUMBER>622</NUMBER>
<CLASS>Audio</CLASS>
<TITLE>WNYC-SCHK-2004-02-20-37540</TITLE>
<GENERATOR>DBM</GENERATOR>
<CREATOR>JPASSMOR</CREATOR>
<DATE>2015-01-06</DATE>
<DATUM>2015-01-06</DATUM>
<TIME>11:48:59</TIME>
<TIMESTAMP>2015-01-06 11:48:59</TIMESTAMP>
<LENGTH>00:58:53.920</LENGTH>
<DURATION>3533920</DURATION>
<SOFTDELETED>0</SOFTDELETED>
<NODELETE>0</NODELETE>
<READY>0</READY>
<PERFECT>0</PERFECT>
<FORARCHIVE>0</FORARCHIVE>
<ARCHIVING>0</ARCHIVING>
<ARCHIVED>0</ARCHIVED>
<GROWING>0</GROWING>
<NEW>0</NEW>
<INVALID>0</INVALID>
<LOWRESEXISTS>0</LOWRESEXISTS>
<KEYFRAMEEXISTS>0</KEYFRAMEEXISTS>
<VSAT>0</VSAT>
<LOOP>0</LOOP>
<INVISIBLE>0</INVISIBLE>
<SHAREDAUDIO>0</SHAREDAUDIO>
<TRANSMITTED>0</TRANSMITTED>
<ROYALTIES>0</ROYALTIES>
<WITHTEXTFILE>0</WITHTEXTFILE>
<INDEXED>0</INDEXED>
<PERSONALRADIO>0</PERSONALRADIO>
<REQUESTDEARCHIVE>0</REQUESTDEARCHIVE>
<REPLFLAGS>0</REPLFLAGS>
<STATE>Existing</STATE>
<AUTHOR>ARCHIVES</AUTHOR>
<EDITOR>JPASSMOR</EDITOR>
<CHANGEUSER>JPASSMOR</CHANGEUSER>
<CHANGEDATE>2015-01-26</CHANGEDATE>
<CHANGETIME>09:33:07</CHANGETIME>
<REMARK>Think of Spanish classical music and the name Manuel de Falla naturally comes to mind.</REMARK>
<FILESIZE>628255824</FILESIZE>
<AUDIOFORMAT>Wave,BWF,RIFF</AUDIOFORMAT>
<AUDIOMODE>Stereo</AUDIOMODE>
<SAMPLERATE>44100</SAMPLERATE>
<BITRATE>0</BITRATE>
<TEXTLENGTH>00:00:00.000</TEXTLENGTH>
<TEXTDURATION>0</TEXTDURATION>
<BROADCASTINGS>0</BROADCASTINGS>
<MARKIN>00:00:00.000</MARKIN>
<MARKOUT>00:58:53.920</MARKOUT>
</ENTRY>
</ENTRIES>
我认为可能有一种方法可以使用 xsl 根据批处理中的共享文件名将注释从一个 xml doc 复制到另一个。或者有没有更简单的方法?
【问题讨论】:
标签: xml batch-file xslt merge