我在SQL Server 2005中的bcp
导出生成的文件夹中有几个xml文件。我发现使用bcp进行xml导出不会生成与Internet Explorer兼容的xml。但是我还发现,如果我创建一个新的空xml文件并将这些xml文件内容复制到该新文件中,则该文件与Internet Explorer兼容。
我需要创建一个批处理文件,以便为此文件夹中的每个文件创建此副本。我尝试使用cmd copy file.xml file1.xml
,但是文件仍然不兼容。还有另一种方法来创建兼容Internet Explorer的xml?
答案 0 :(得分:0)
我的投票是使用XML解析器,而不是尝试将XML数据合并为纯文本。不幸的是,批处理语言在XML解析方面没有提供太多帮助。但是,PowerShell可以。这是一个示例PowerShell脚本,它将读取所有* .xml文件并将其内容克隆到XML对象中,最后将其保存到名为joined.xml的文件中:
# File to save:
$outfile = "joined.xml"
# create an XML object with a single empty container node
$x = [xml]"<root></root>"
# Delete previous export if exists to avoid cumulative runs
if (test-path $outfile) { del $outfile }
# For each XML file...
gci *.xml | %{
# Read the contents and cast as an XML object. Then for each root node...
([xml](gc $_)).selectNodes("/*") | %{
# Clone the node and its descendants into our XML object's container node.
[void]$x.selectSingleNode("/root").AppendChild($x.ImportNode($_, $true))
}
}
# Finally, save the resulting XML data to a file.
$x.Save($outfile)