0

任何人都可以帮助编写 BATCH 程序以从 XML 文件中读取标签元素值,如果该值与您需要的值匹配,则将 XML 文件的名称导出到 Excel。

假设文件夹中有 20 个 XML 文件,该脚本应该从 XML 文件中读取特定的标签元素值,并在此基础上将 XML 文件名导出到 excel/csv/txt。所以可能输出 txt/csv/excel 文件将有 5 个符合您的条件的 xml 文件名

前任。文件夹 TEST 有 20 个 XML 文件,test1.xml、test2.xml 等等...

test1.xml 示例如下...我们需要检查值并基于该值将文件名导出到 text/csv/excel .....

 <?xml version="1.0" encoding="UTF-8"?>
-<sh:StandardBusinessDocumentHeader>
    <sh:HeaderVersion>1.0</sh:HeaderVersion>
    -<sh:Sender>
        <sh:Identifier>3015060500992</sh:Identifier>
    </sh:Sender>
    -<sh:Receiver>
        <sh:Identifier>4539594000005</sh:Identifier>
    </sh:Receiver>
    -<sh:DocumentIdentification>
        <sh:Standard>EAN.UCC</sh:Standard>
        <sh:TypeVersion>2.5</sh:TypeVersion>
        <sh:InstanceIdentifier>SBDH_4539594000005_tt7x7c71fof8d9adenhr</sh:InstanceIdentifier>
        <sh:Type>multiShipmentOrder</sh:Type>
        <sh:MultipleType>false</sh:MultipleType>
        <sh:CreationDateAndTime>2013-04-09T11:08:54</sh:CreationDateAndTime>
    </sh:DocumentIdentification>
</sh:StandardBusinessDocumentHeader>

问候,段落

4

1 回答 1

0

尝试这个

@echo off
echo. >export.txt
set searchid="<sh:InstanceIdentifier>SBDH_4539594000005_tt7x7c71fof8d9adenhr<"
for /f %%a in ('findstr /i /m %searchid% *.xml') do (
  echo %%a >>export.txt
)
于 2013-09-05T09:42:12.253 回答