0

我正在尝试使用 .NET 将 XML 文件加载到嵌入式数据库 (SQLite) 中。我发现这样做的最佳方法是将数据读入 DataTable/DataSet,然后使用 DataAdapter 将该 DataTable 更新到数据库表中。

问题是,我必须使用的 XML 文件包含不在根节点中的数据。有根节点(表),然后是子节点(tableXXX),所有数据都在子节点中。

当我使用 ReadXML(用于 DataSet 对象)时,它只是读取一条记录(包含子节点表的名称)。我想完全忽略根节点并将第一个子节点视为根节点。

我该怎么做呢?

(或者,如果有一种更简单的方法可以将 XML 文件加载到数据库中,我也很想听听,尽管我猜我仍然需要解决这个根节点问题)。

WATYF

4

1 回答 1

0
string xml = "<tables><table1><col1>xyz</col1></table1></tables>";

DataSet ds = new DataSet();
ds.ReadXml(XDocument.Parse(xml).Root.Element("table1").CreateReader());

var value = ds.Tables[0].Rows[0]["col1"].ToString(); //<-- xyz

编辑

  • XDocumentSystem.Xml.Linq命名空间中

  • 代码可以是

    ds.ReadXml(XDocument.Parse(xml).Root.Elements().First().CreateReader());

于 2013-09-03T18:49:55.383 回答