C# 从xpath创建SQL数据库结构

C# 从xpath创建SQL数据库结构,c#,sql,xml,C#,Sql,Xml,我试图将xml文件的内容转储为sql表关系格式 过去,我使用过dataset.readxml,但在处理多对多关系时遇到了一些问题 因此,我采取了如下方法,为xml文件中的所有元素和属性创建一个唯一的xpath表达式列表,然后使用这些表达式创建一个sql db结构来持久化这些数据 我想将此功能创建为处理任何xml的动态实现 假设我有一个xml文件,唯一的Xpath如下 /movie/MovieId[1] /movie/MovieName[1] /movie/cast[1] /movi

我试图将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、releasedate、reldatetestatt、runtime

表名:Cast 列:MovieId、name、rolename

表名:董事 列:MovieId,name

示例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>";

你可以试试aka Jaster ETL。它很乐意接受xml并填充数据库。您可以从UI中执行,也可以将作业导出为独立的java代码。

您可以尝试aka Jaster ETL。它很乐意接受xml并填充数据库。您可以从UI中执行,也可以将作业导出为独立的java代码。

您的问题是什么?你想要完整的剧本吗?一些建议?一个伪代码会很有帮助。谢谢你的问题到底是什么?你想要完整的剧本吗?一些建议?一个伪代码会很有帮助。谢谢你,KCD。我正在寻找一个基于.net的解决方案。谢谢你,KCD。我正在寻找一个基于.net的解决方案。