C# 使用XML将数据保存到MSSQL数据库

C# 使用XML将数据保存到MSSQL数据库,c#,sql-server,xml,asp.net-mvc,C#,Sql Server,Xml,Asp.net Mvc,我创建了一个ASP.NET C#MVC应用程序。我需要在数据库中插入一些记录,下面的代码工作正常。我现在想做的是使用XML在数据库中保存记录 我在中找到了一个示例,但我无法修改代码,无法通过XML将数据发送到MSSQL using (SqlCommand c = new SqlCommand("INSERT INTO PPL (Name, Age) VALUES (@Name,@age)", c)){ c.Open();

我创建了一个ASP.NET C#MVC应用程序。我需要在数据库中插入一些记录,下面的代码工作正常。我现在想做的是使用XML在数据库中保存记录

我在中找到了一个示例,但我无法修改代码,无法通过XML将数据发送到MSSQL

                using (SqlCommand c = new SqlCommand("INSERT INTO PPL  (Name, Age) VALUES (@Name,@age)", c)){
                c.Open();
                c.ExecuteNonQuery();}
有人能帮我吗

**教程

更新

我创建了一个SP

CREATE PROCEDURE INSERT_PPL

@NAME nchar(200),
@AGE nchar(3),

AS

INSERT INTO PPL(NAME,AGE)

VALUES (@NAME,@AGE)
现在,我假设使用EXEC sp_xml_preparedocument@hdoc OUTPUT,@xmlData添加这一行(根据教程),但不知道如何编辑它以便在我的程序中工作


这就是我所做的。

我认为一个好方法是将类序列化为XML并将它们传递给SQL。对于服务器部件,以以下路径开头:

    create table Books (BookID int identity, Title varchar(50), Rating int);

    create table Chapters (BookID int, Title varchar(50), Sequence int);

    go

    create procedure AddBook
        @book xml
    as
    begin

        insert Books (Title, Rating)
        select
            n.value('@Title', 'varchar(50)'),
            n.value('@Rating', 'int')
        from
            @book.nodes('/Book') x(n);

        declare @bookID int;
        set @bookID = scope_identity();

        insert Chapters (BookID, Title, Sequence)
        select
            @bookID,
            n.value('@Title', 'varchar(50)'),
            n.value('@Sequence', 'int')
        from
            @book.nodes('/Book/Chapters/Chapter') x(n);

    end;

    go

    declare @data xml;
    set @data = '
    <Book Title="New Book" Rating="9">
        <Chapters>
            <Chapter Title="Chapter 1" Sequence="1" />
            <Chapter Title="Chapter 2" Sequence="2" />
            <Chapter Title="Chapter 3" Sequence="3" />
        </Chapters>
    </Book>'

    exec AddBook @data;

    select * from Books;
    select * from Chapters;

不要忘记将过程语句打包到事务中。

向我们展示您的尝试。上面已经演示了我的尝试。“下面的代码工作正常”。。。“但我无法将我的代码修改为…”-请告诉我们您尝试了哪些修改。告诉我们你被困在哪里。我们不会为您完成工作。请向我们展示您的XML示例。我不知道我是否正确,但我的印象是,我可以从存储过程生成XML(可能是错误的)并将其插入数据库。
    BookID      Title                                              Rating
    ----------- -------------------------------------------------- -----------
    1           New Book                                           9

    (1 row(s) affected)

    BookID      Title                                              Sequence
    ----------- -------------------------------------------------- -----------
    1           Chapter 1                                          1
    1           Chapter 2                                          2
    1           Chapter 3                                          3

    (3 row(s) affected)