1

我有很多数据表,我需要对表(它们的数据)运行诊断,所以我想将数据插入到XMLspy表中,并为表生成 xml 文件。可能吗 ?也许与Oxygen

我试图寻找可以执行以下操作的特定教程,但是找不到:

以一个有几行和几列的简单表格为例,所以我想把它的值

在一个 XMLspy 中,然后生成一个 XML 文件。

是否可以使用该程序输入值并最终生成

一个 XML 文件?如果是这样,你能指导我到网站/教程吗?

问候

4

1 回答 1

1

如今,许多 SQL 引擎能够自动生成格式为 XML 的查询结果。例如,Microsoft SQL Server 提供了一个非常简单的模式,下面是在线书籍的摘录。

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 片段或任何其他附加逻辑。

如果您开始编写脚本,另一种涉及一些脚本(Windows 上的 C#)的简单方法是使用表示所需数据的某种查询来加载 ADO.NET 数据集,然后将 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:

QTAsistant XML 图

如果您的数据库不支持此功能,或者您更喜欢不同的解决方案,并且您的 XML 必须遵循规定的 XSD,那么我可以代表QTAssistant(我与它相关联)在相当长一段时间内具有此功能; 它被称为 XML Builder,它基本上使用 XSD 和一组 SQL 语句之间的 XML 映射,其结构与 XML 文档的层次结构相匹配。

如果您决定尝试一下,您必须先注册才能下载该工具;嵌入式帮助有一个关于如何设置演示的分步指南,因为它带有一个功能示例,位于 Modules > XML Builder > Samples > Recursive Sample 主题下。该示例需要 Microsoft SQL Server 版本,但它可以与您的计算机上安装了 OLEDB 提供程序的任何其他数据库一起使用,包括 Excel 或 Access。

交互时,加载的示例如下所示:

QTAssistant XML 构建器模块

于 2012-04-25T14:25:32.473 回答