【发布时间】:2011-11-23 07:47:47
【问题描述】:
我正在尝试将 xml 文件的内容转储到 sql 表(关系格式)中。
过去,我使用过 dataset.readxml,但在处理多对多关系时遇到了一些问题。
所以我采取了如下方法,为 xml 文件中的所有元素和属性创建一个唯一的 xpath 表达式列表,然后使用这些表达式创建一个 sql db 结构来保存这些数据。
我想将此功能创建为动态实现来处理任何 xml。
假设我有一个xml文件,唯一的Xpath如下
/movie/MovieId[1]
/movie/MovieName[1]
/movie/cast[1]
/movie/cast[1]/name[1]
/movie/cast[1]/name[2]
/movie/cast[1]/name[3]/@rolename
/movie/description[1]
/movie/directors[1]
/movie/directors[1]/name[1]
/movie/directors[1]/name[1]
/movie/directors[1]/name[2]
/movie/directors[1]/name[3]
/movie/releasedate[1]
/movie/releasedate[1]/@reldatetestatt
/movie/runtime[1]
我希望按如下方式创建表结构:
表名:电影
列:MovieId、MovieName、description、releaseate、reldatetestatt、runtime
表名:演员表
列:MovieId、名称、角色名
表格名称:董事
列:MovieId、名称
示例 Xml 供您参考:
var xml = @"<movies>
<movie>
<MovieId>277345</MovieId>
<MovieName>The Life and Passion of Jesus Christ</MovieName>
<description>The Gospels of the New Testament.</description>
<runtime>44</runtime>
<releasedate reldatetestatt='testattribute'>3/26/1904 12:00:00 AM</releasedate>
<directors>
<name>Lucien Nonguet</name>
<name>Ferdinand Zecca</name>
<name>Ferdinand Zecca 2</name>
</directors>
<cast>
<name rolename='test'>Madame Moreau</name>
<name>Monsieur Moreau</name>
</cast>
</movie>
</movies>";
【问题讨论】:
-
您的问题到底是什么?你想要一个完整的脚本吗?一些建议?
-
伪代码会很有帮助。谢谢