用于XML路径更改位置
我有一个类似的问题用于XML路径更改位置,xml,tsql,powershell,Xml,Tsql,Powershell,我有一个类似的问题 SELECT ProductModelID AS "@id", Name FROM Production.ProductModel WHERE ProductModelID=122 or ProductModelID=119 FOR XML PATH ('ProductModelData'), root ('Root'); GO 它工作得很好,但问题是我想用PowerShell创建一个任务来创建一个XML文件,但我不知道在哪里存储文件。创建XML文档
SELECT ProductModelID AS "@id", Name
FROM Production.ProductModel
WHERE ProductModelID=122 or ProductModelID=119
FOR XML PATH ('ProductModelData'), root ('Root');
GO
它工作得很好,但问题是我想用PowerShell创建一个任务来创建一个XML文件,但我不知道在哪里存储文件。创建XML文档有多种方法。但是最好的方法是使用XMLTextWriter类
$xmlWriter = New-Object System.XMl.XmlTextWriter('C:\Cars.xml',$Null)
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteComment('Value')
浏览链接以供参考
其他方法:
希望有帮助。创建XML文档有多种方法。但是最好的方法是使用XMLTextWriter类
$xmlWriter = New-Object System.XMl.XmlTextWriter('C:\Cars.xml',$Null)
$xmlWriter.WriteStartDocument()
$xmlWriter.WriteComment('Value')
浏览链接以供参考
其他方法:
希望有帮助。您可以使用
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
您可以使用
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
您是如何执行SQL的?您是如何执行SQL的?