XML Ausgabe bearbeiten

28/05/2008 - 06:18 von linus-johannes | Report spam
Moin moin,
ich weiß nicht genau ob ich hier richtig bin oder eher in der vb Ecke,
versuche es aber mal vieleicht weiß ja jemand eine Antwort.

Ich möchte Daten aus dem SQLServer in XML ausgeben, diese werden dann
von XCelsius weiterverarbeitet (visualisiert), soweit auch kein
Problem, ich habe ein VB skript geschrieben, nutze den XML Reader und
den XML Writer. Nur sollen die Daten anders formatiert werden(weil
Xcelsius sie so erwartet in etwa so:
<data>
<variable name="Range_0">
<row>
<column>Zeile 1,wert1 aus Abfrage </column>
<column>Zeile 1wert2 aus Abfrage</column>
<column>Zeile 1wert3 aus Abfrage</column>
</row>
<row>
<column>Zeile 2,wert1 aus Abfrage </column>
<column>Zeile 2,wert2 aus Abfrage</column>
<column>Zeile 2,wert3 aus Abfrage</column>

</row>
<row>
<column>Zeile 3,wert1 aus Abfrage </column>
<column>Zeile 3,wert2 aus Abfrage</column>
<column>Zeile 3,wert3 aus Abfrage</column>
</row>
<row>

hier der VB Teil

Module Module1
Sub Main()
Dim conn As New SqlClient.SqlConnection("Data
Source=mySQLServer;User ID=ini;Password=mdf;Initial
Catalog=ms_ine;Persist Security Info=True;")
Dim com As New SqlClient.SqlCommand("select Name, Status,
count( IdStateNext)as Anzahl from ms_inforce.dbo.test group by Name,
Status for xml AUTO;", conn)
conn.Open()
Dim xr As Xml.XmlReader = com.ExecuteXmlReader
Dim ds As New DataSet
ds.ReadXml(xr)
ds.WriteXml("C:\test\xampp\htdocs\xml_test\takerate.xml",
XmlWriteMode.IgnoreSchema)
System.Diagnostics.Process.Start("iexplore.exe", _
"C:\test\xampp\htdocs\xml_test\takerate.xml")
xr.Close()
conn.Close()
End Sub
End Module

dieser ist mit for XML AUTO mit XML Raw gibt auch nicht das gewünschte
Ergebnis.

hat jemand einen Tipp ?

Danke im voraus


Andreas
 

Lesen sie die antworten

#1 Elmar Boye
28/05/2008 - 13:32 | Warnen spam
Hallo Andreas,

linus-johannes schrieb:

ein vollstàndiger Name im Absender ist hier gern gesehen. Danke.
Moin moin,
ich weiß nicht genau ob ich hier richtig bin oder eher in der vb Ecke,
versuche es aber mal vieleicht weiß ja jemand eine Antwort.



Ich weiß, dass Du da auch gepostet hast.
Anstatt der Umwege über eine Formatierung im Client kann
das in vielen Fàllen der SQL Server jedoch direkt erledigen.

Ich möchte Daten aus dem SQLServer in XML ausgeben, diese werden dann
von XCelsius weiterverarbeitet (visualisiert), soweit auch kein
Problem, ich habe ein VB skript geschrieben, nutze den XML Reader und
den XML Writer. Nur sollen die Daten anders formatiert werden(weil
Xcelsius sie so erwartet in etwa so:
<data>
<variable name="Range_0">
<row>
<column>Zeile 1,wert1 aus Abfrage </column>
<column>Zeile 1wert2 aus Abfrage</column>
<column>Zeile 1wert3 aus Abfrage</column>
</row>


dieser ist mit for XML AUTO mit XML Raw gibt auch nicht das gewünschte
Ergebnis.



Für die Ausgabe reicht im Prinzip schon die Formatangabe ELEMENTS:

SELECT
Name AS [column],
Status AS [column],
COUNT( IdStateNext) AS [column]
FROM ms_inforce.dbo.test AS [row]
GROUP BY Name, Status
FOR XML AUTO, ELEMENTS;

auch wenn die Verwendung von "column" für unterschiedliche Spalten
nicht gerade glücklich ist.

Mehr siehe: <URL:http://msdn.microsoft.com/de-de/lib...3.aspx>
"Verwenden des AUTO-Modus"

und wo das noch nicht reicht schaue Dir den EXPLICIT Modus an.

Gruß Elmar

Ähnliche fragen