2012-04-13 3 views
1

У меня есть много таблиц данных, и мне нужно запустить диагностику по таблицам (их данные), поэтому я хочу вставить данные в XMLspy и сгенерировать xml-файл для таблиц. Является ли это возможным ? возможно, с Oxygen?Вставить данные, хранящиеся в таблице, в XMLspy? (для запуска диагностики данных, позже)

Я пытался искать конкретный учебник, который может выполнять следующие действия, но не могло найти:

Возьмет для примера простой таблицы с несколькими строками & столбцов, поэтому я хочу, чтобы положить свои ценности

в XMLspy, а затем сгенерировать XML-файл.

Можно ввести значения с этой программой и в конечном итоге сформировать

файл XML? Если да, можете ли вы направить меня на сайт/учебник?

С уважением

ответ

1

В эти дни многие SQL двигатели имеют возможность автоматически генерировать результаты запроса, отформатированные в XML. Например, Microsoft SQL Server обеспечивает очень простой режим, ниже - выдержка из 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 

Сгенерированный XML может выглядеть следующим образом:

<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> 
... 

Вы можете написать сценарий этого, для обработки фрагментов XML по мере необходимости, или какой-либо другой дополнительной логики.

Если вы используете скрипты, то другой простой подход, связанный с некоторыми сценариями (C# в Windows), заключается в загрузке ADO.NET DataSet с использованием какого-то запроса, который представляет данные, которые вы хотите, а затем сериализуйте ADO.NET в файл XML.

Этот сценарий:

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); 
      } 
     } 
    } 
} 

даст в XML с этой структурой:

QTAssistant XML diagram

Если база данных не поддерживает эту функцию, или вы предпочитаете другое решение, и если ваш XML должен соответствовать предписанному XSD, тогда я мог бы говорить за QTAssistant (я связан с ним), который имеет эту функцию на месте в течение довольно длительного времени; он называется XML Builder, и он в основном использует XML-карту между XSD и набором SQL stataments, структурированных в соответствии с иерархической природой XML-документа.

Если вы решили опробовать его, вам нужно будет сначала зарегистрироваться, чтобы скачать инструмент; встроенная справка содержит пошаговое руководство по настройке демонстрации, поскольку оно поставляется с работающим образцом в модуле> XML Builder> Образцы> Рекурсивный пример. Для образца требуется версия Microsoft SQL Server, но она может работать с любой другой базой данных, для которой на вашем компьютере установлен поставщик OLEDB, включая Excel или Access.

Когда интерактивными, это то, как загруженный образец выглядит следующим образом:

QTAssistant XML Builder Module