2013-04-17 4 views
0

Я создал файл xml с именем SeedData.xml, как это.Как сохранить XML-данные в базу данных с помощью mvc4

<Root> 
    <User> 
     <UserID>1</UserID>    
     <UserName>Admin</UserName>  
     <FirstName>Admin</FirstName> 
     <LastName>Admin</LastName> 
     <ShortName>Admin</ShortName>   
    </User> 
</Root> 

Я включил путь в web.config следующим образом.

<appSettings>  
    <add key="myFilePath" value="D:\XmlSample\Common\SeedData.xml"/> 
    </appSettings> 

Мне нужно добавить данные в XML-файл в базу данных.

Я получил путь XML

string filePath = ConfigurationManager.AppSettings["myFilePath"]; 

Но как я могу извлечь значения из XML и сохранить в database.I искал много в гугле, но я не смог найти решение. Помощь Pls

+0

Я думаю, что вам нужно это http://stackoverflow.com/questions/2441673/reading-xml-with-xmlreader-in-c-sharp – ePezhman

ответ

1

XML - это язык, основанный на тегах общего назначения, и очень удобный для передачи и хранения данных по приложениям. Технология .Net - это широко поддерживаемый формат файла XML. .Net Framework предоставляет классы для чтения, записи и других операций в файлах формата XML. Кроме того, Dataset в ADO.NET использует формат XML в качестве внутреннего формата хранения.

Здесь мы собираемся вставить значения XML-файла в таблицу базы данных с помощью команды SQL Insert. Здесь Dataset с использованием XmlReader для чтения содержимого XML-файла. Найдите XML-файл с помощью XmlReader и передайте XmlReader в качестве аргумента Dataset. Также установите соединение с базой данных с помощью соединительной строки. После получения данных из XML-файла в набор данных мы можем выполнить цикл через значения набора данных и использовать команду insert для добавления значений в таблицу в Databse.

Попробуйте

using System; 
    using System.Data; 
    using System.Windows.Forms; 
    using System.Xml; 
    using System.Data.SqlClient; 

    namespace WindowsApplication1 
    { 
     public partial class Form1 : Form 
     { 
      public Form1() 
      { 
       InitializeComponent(); 
      } 

      private void button1_Click(object sender, EventArgs e) 
      { 
       string connetionString = null; 
       SqlConnection connection; 
       SqlCommand command ; 
       SqlDataAdapter adpter = new SqlDataAdapter(); 
       DataSet ds = new DataSet(); 
       XmlReader xmlFile ; 
       string sql = null; 

       int ID = 0; 
       string Name = null; 
       double Price = 0; 

       connetionString = "Data Source=servername;Initial Catalog=databsename;User ID=username;Password=password"; 

       connection = new SqlConnection(connetionString); 

       xmlFile = XmlReader.Create("Xmlfile.xml", new XmlReaderSettings()); 
       ds.ReadXml(xmlFile); 
       int i = 0; 
       connection.Open(); 
       for (i = 0; i <= ds.Tables[0].Rows.Count - 1; i++) 
       { 
        ID = Convert.ToInt32(ds.Tables[0].Rows[i].ItemArray[0]); 
        Name = ds.Tables[0].Rows[i].ItemArray[1].ToString(); 
        Price = Convert.ToDouble(ds.Tables[0].Rows[i].ItemArray[2]); 
        sql = "insert into tablenamevalues(" + ID + ",'" + Name + "'," + Price + ")"; 
        command = new SqlCommand(sql, connection); 
        adpter.InsertCommand = command; 
        adpter.InsertCommand.ExecuteNonQuery(); 
       } 
       connection.Close(); 
       MessageBox.Show("Done .. "); 
      } 
     } 
    } 
+0

Спасибо you..It отлично работал – Mizbella