2012-04-13 14 views
1

Ich habe viele Datentabellen, und ich muss Diagnosen für die Tabellen (ihre Daten) ausführen, also möchte ich die Daten in XMLspy einfügen und XML-Datei generieren für die Tabellen. Ist es möglich ? vielleicht mit Oxygen?Fügen Sie Daten, die in einer Tabelle gespeichert sind, in XMLspy ein? (für das Ausführen von Diagnosen für die Daten, später)

Ich habe für ein bestimmtes Tutorial zu suchen versucht, die folgend ausführen können, aber nicht finden konnte:

& Spalten zum Beispiel eine einfache Tabelle mit wenigen Zeilen nehmen, so will ich ihre Werte setzen

in einem XMLspy, und generieren Sie dann eine XML-Datei.

Ist es möglich, Werte mit diesem Programm eingeben und schließlich

eine XML-Datei generieren? Wenn ja, kannst du mich bitte auf die Website/das Tutorial verweisen?

Grüße

Antwort

1

In diesen Tagen haben viele SQL-Motoren die Möglichkeit, Abfrageergebnisse automatisch als XML formatiert zu erzeugen. Zum Beispiel bietet Microsoft SQL Server einen sehr einfachen Modus, unten ist ein Auszug aus der Online Books.

SELECT Cust.CustomerID, 
     OrderHeader.CustomerID, 
     OrderHeader.SalesOrderID, 
     OrderHeader.Status, 
     Cust.CustomerType 
FROM Sales.Customer Cust, Sales.SalesOrderHeader OrderHeader 
WHERE Cust.CustomerID = OrderHeader.CustomerID 
ORDER BY Cust.CustomerID 
FOR XML AUTO 

A erzeugte XML aussehen kann:

<Cust CustomerID="1" CustomerType="S"> 
    <OrderHeader CustomerID="1" SalesOrderID="43860" Status="5" /> 
    <OrderHeader CustomerID="1" SalesOrderID="44501" Status="5" /> 
    <OrderHeader CustomerID="1" SalesOrderID="45283" Status="5" /> 
    <OrderHeader CustomerID="1" SalesOrderID="46042" Status="5" /> 
</Cust> 
... 

könnte Sie dieses Skript, um die XML-Fragmente nach Bedarf oder andere zusätzliche Logik zu verarbeiten. Wenn Sie Skripterstellung erhalten, besteht ein weiterer einfacher Ansatz, bei dem ein Skript ausgeführt wird (C# unter Windows), darin, ein ADO.NET-DataSet mit einer Art von Abfrage zu laden, die die gewünschten Daten darstellt, und dann das ADO.NET zu serialisieren in eine XML-Datei.

Dieses Skript:

using System; 
using System.Data; 
using System.Data.OleDb; 
class Script 
{ 
    public static void Main() 
    { 
     using(OleDbConnection cn = new OleDbConnection("Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=NORTHWIND;Integrated Security=SSPI")) 
     { 
      using (OleDbDataAdapter adapter = new OleDbDataAdapter("select EmployeeID, LastName, FirstName, Title from Employees", cn)) 
      { 
       DataSet d = new DataSet("Customers"); 
       adapter.Fill(d, "Customer"); 
       d.WriteXml(@"c:\temp\MyXml.xml", XmlWriteMode.IgnoreSchema); 
      } 
     } 
    } 
} 

eine XML mit dieser Struktur führen wird:

QTAssistant XML diagram

Wenn Ihre Datenbank nicht diese Funktion nicht unterstützt, oder Sie eine andere Lösung, und Wenn Ihr XML einem vorgeschriebenen XSD folgen muss, dann könnte ich für QTAssistant sprechen (ich bin damit verbunden), das diese Funktion für eine geraume Zeit hat; Es heißt XML-Builder und verwendet im Grunde eine XML-Map zwischen einem XSD und einer Reihe von SQL-Statements, die so strukturiert sind, dass sie der hierarchischen Natur eines XML-Dokuments entsprechen.

Wenn Sie sich entscheiden, es auszuprobieren, müssen Sie sich zuerst registrieren, um das Tool herunterzuladen; Die eingebettete Hilfe enthält eine Schritt-für-Schritt-Anleitung zum Einrichten der Demo, da sie mit einem funktionierenden Beispiel unter dem Thema Module> XML Builder> Beispiele> Rekursives Beispiel geliefert wird. Das Beispiel erfordert eine Version von Microsoft SQL Server, aber es könnte mit jeder anderen Datenbank funktionieren, für die ein OLEDB-Anbieter auf Ihrem Computer installiert ist, einschließlich Excel oder Access.

Wenn interaktiv, das ist, wie die geladene Probe wie folgt aussieht:

QTAssistant XML Builder Module