【发布时间】:2014-01-12 08:46:52
【问题描述】:
我通过在 c#.net 中导出我的 SQLite 数据库生成了一个 XML 文件。我生成的 XML 类似于-
<root>
<name1>
<names>
<id>5</id>
<from>Germany</from>
<to>France</to>
<through>
<via>
<id>7</id>
<routeNo>5<routeNo>
<route>Vienna<route>
</via>
</through>
</names>
<names>
<id>10</id>
<from>US</from>
<to>Canada</to>
<through>
<via>
<id>8</id>
<routeNo>10<routeNo>
<route>Mexico<route>
</via>
</through>
</names>
</name1>
</root>
我正在尝试导入此 XML 文件并将所有数据重新插入一个空的 SQLite 数据库。我需要在插入 SQLite 数据库之前验证内容。我从现有的 XML 文件创建了一个 XSD 文件。我在这里使用了 NDbUnit 库。我将数据从 XML 导入 SQLite 数据库的代码如下 -
string connectionString = "Data Source=emptyDB.sqlite;Version=3;New=True;Compress=True;";
NDbUnit.Core.INDbUnitTest Database = new NDbUnit.Core.SqlClient.SqlDbUnitTest(connectionString);
Database.ReadXmlSchema("myFlatXml.xsd");
Database.ReadXml("myFlatXml.xml");
Database.PerformDbOperation(NDbUnit.Core.DbOperationFlag.CleanInsertIdentity);
我使用了从 XML 文件生成的 XSD 文件,但似乎我必须从我的 sqlite 数据库创建 XSD。问题是 sqlite manager 不支持将数据库导出到 XSD 文件。此外,我找不到任何使用 NDbUnit 创建 XSD 的明确文档。有人可以帮忙吗?
【问题讨论】:
-
xml格式有点奇怪,你希望xml如何映射到SQLite?目标表格式,哪个标签将存储在哪个列中?
-
我也在 c# 中从 SQLIte 数据库生成了这个 XML。现在我需要将这些数据从 XML 取回 SQLite(空数据库)。是的,这个 XML 有点复杂。我是 C# 的新手。你能给我一些提示吗?
-
如果可能,尝试发布您的 SQLite 表架构以及用于从 SQLite 表生成该 xml 的 c# 代码。根据您用来生成 xml 的 -reversed- 逻辑来编码将 xml 恢复回数据库的逻辑可能比从头开始编码更容易。仅从目前的信息来看,我无能为力
-
我已经编辑了帖子并给出了将数据从 sqlite 导出到 xml 的代码。足以理解我的问题吗?我非常需要解决它。请帮助我。
-
不清楚代码中的
root变量指的是什么。您能否在声明和初始化它的位置发布代码,最好首先包括用于从 SQLite 加载数据的位?
标签: c# .net xml sqlite ndbunit