我从系统导出XML文件,需要注释掉或删除每个文件中的第二行代码(大约有200个文件)。
这可以手动完成,但我想知道VB脚本是否能够执行此操作。如果是这样,你对如何有任何想法?
档案示例:
<?xml version="1.0" encoding="ISO-8859-1"?>
<DOCTYPE POWERMART SYSTEM "powrmart.dtd">
期望的结果:
<?xml version="1.0" encoding="ISO-8859-1"?>
OR注释掉了:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--DOCTYPE POWERMART SYSTEM "powrmart.dtd"-->
谢谢,
A
答案 0 :(得分:-1)
这是一个起点。一些FSO方法可能需要更明确的参数(我忘记了常量等)。它还假设Base 0数组索引并且第二行IS(如您所述)始终是您想要影响的那个,但它应该提供一个合适的参考点。 (仅供参考,如果您在200多个文件中遇到不一致,可以考虑使用旧的MSXML DLL。)
Dim objFSO
Dim tsContent
Dim strAll
Dim aryAll
Dim strNew
Set objFSO = CreateObject("Scripting.FileSystemObject")
' Read current file content
Set tsContent = objFSO.OpenTextFile("C:\SOSamples\Sample.xml")
strAll = tsContent.ReadAll
tsContent.Close()
Set tsContent = Nothing
aryAll = Split(strAll,vbCrLf)
' Assumes array indexes start at 0 (instead of 1) and sets second element to empty/zero length string
aryAll(1)=""
strNew = Join(aryAll,vbCrLf)
' Write content to new file, overwriting any existing one
Set tsContent = objFSO.CreateTextFile("C:\SOSamples\Sample-Conv.xml")
tsContent.Write(strNew)
tsContent.Close()
Set tsContent = Nothing
Set objFSO = Nothing