我有一个像
这样的查询SELECT ProductModelID AS "@id", Name
FROM Production.ProductModel
WHERE ProductModelID=122 or ProductModelID=119
FOR XML PATH ('ProductModelData'), root ('Root');
GO
并且效果很好,但问题是我想用PowerShell创建一个创建XML文件的任务,但我无法分辨存储文件的位置。
答案 0 :(得分:0)
有多种方法可以创建XML文档。但最好的方法是使用 XMLTextWriter类
$xmlWriter = New-Object System.XMl.XmlTextWriter('C:\Cars.xml',$Null)
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteComment('Value')
浏览链接以供参考。
替代方式:
希望它有所帮助。
答案 1 :(得分:0)
您可以使用BCP
将SQL查询的结果写入文件系统:
DECLARE @FileName VARCHAR(50)='C:\YourPath\test.xml';
DECLARE @SQLCmd VARCHAR(500)=
'bcp '
+ '"SELECT ProductModelID AS "@id", Name '
+ 'FROM Production.ProductModel '
+ 'WHERE ProductModelID=122 or ProductModelID=119 '
+ 'FOR XML PATH (''ProductModelData''), root (''Root'')"'
+ ' queryout '
+ @FileName
+ ' -w -T -S ' + @@SERVERNAME;
-- create the XML file
EXECUTE master..xp_cmdshell @SQLCmd