Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

XML-Deklaration mithilfe der WriteXml-Methode aus DataSet definieren

$
0
0

Hallo Zusammen,

Ich bräuchte aus einer SQL-Datenbank einen automatisierten XML-Export via PowerShell und da dachte ich an die WriteXml-Methode aus der DataSet-Klasse.
Mir ist bewusst, dass PS ein ConvertTo-XML CmdLet besitzt, allerdings macht dieses nicht das gewünschte Format.

Hier zuerst mein Ansatz:
Ein DataSet wird mittels DataAdapter-Fill-Methode befüllt und dieses produziert mir mithilfe der WriteXML-Methode das XML-File

$conn = New-Object System.Data.SqlClient.SqlConnection("....")
$cmd = New-Object System.Data.SqlClient.SqlCommand("Select * FROM dbo.Tabelle", $conn)
$da = New-Object System.Data.SqlClient.SqlDataAdapter($cmd)
$ds = New-Object System.Data.DataSet
$da.Fill($ds)

$ds.DataSetName = "aa"
$ds.Tables[0].TableName = "Table"   
$settings = New-Object System.Xml.XmlWriterSettings
$settings.Encoding = [System.Text.Encoding]::UTF8
$settings.Indent = $true
$xmlWriter = [System.Xml.XmlWriter]::Create("C:\Temp\bla.xml", $settings)
$ds.WriteXml($xmlWriter)
$xmlWriter.close()
Jetzt die Frage:

Kann man dieser Klasse irgendwie das 'standalone="yes"'-Attribut mitgeben? Oder geht das nur mit Regex-Methoden?
Wenn ich die Überladung "WriteXml(String)" verwende bekomm ich zwar das Standalone, aber kein encoding="UTF-8" mehr.
Der Header muss nämlich so aussehen: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Sonst macht diese Methode alles wunderbar für meine Anforderungen.

Grüße
speedy


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>