1

私はいくつかのことを試しました。最初に、を使用してクラスを生成しxsd.exe、C# で xml をメモリにインポートするための簡単な 3 行のコードを記述しました。ただし、XML は非常に複雑で、かなりの数の異なる型があります。

次に、xsd2db を使用して、.xsd 定義に一致するデータベースを作成しました。

エンティティ フレームワークなどをオブジェクトから直接使用するか、ある種の XML インポートを介して、XML をデータベースに取り込む簡単な方法を探しています。

SQL のデータのインポート機能を使用してみました (おそらく自動化できます) が、XML をサポートしておらず、.CSV または .TXT のみをサポートしています。

直接の答えがなくても、私を正しい方向に向けてくれるものは何でもありがたいです.

4

3 に答える 3

0

私は常に EntityFramework CodeFirst で XmlReader を使用してきました。

xml から逆シリアル化するための単純なクラスを作成し (xsd を使用して、または使用せずに)、それらを xml 属性と EF 属性の両方で装飾します。そのように:

public class School 
{
    [XmlAttribute] //XML Serializer attribute
    [MaxLength(30)] // CodeFirst Data Annotations
    public string Name { get; set;}
    [XmlArray]
    public List<string> Students { get; set; } 
}

ただし、XML と SQL Server のテーブルの両方に一致するようにクラスを適切に装飾する必要があるため、最初は時間がかかります。

于 2013-08-21T13:58:00.340 に答える