Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa yang diterjemahkan oleh tipe data SQL Server XML dalam .NET dan bagaimana cara mengubahnya menjadi XmlDocument?

Ini diterjemahkan menjadi SqlXml dan Anda bisa mendapatkan XmlReader dengan SqlXml.CreateReader dari itu. Anda harus menggunakan SqlDataReader.GetSqlXml metode untuk mendapatkan tipe alih-alih string.

Misalnya:

        SqlDataReader reader = cmd.ExecuteReader();
        while (reader.Read())
        {
            SqlXml xmlData =
            reader.GetSqlXml(0);
            XmlReader xmlReader = xmlData.CreateReader();

            xmlReader.MoveToContent();
            while (xmlReader.Read())
            {
                if (xmlReader.NodeType == XmlNodeType.Element)
                {
                    string elementName = xmlReader.LocalName;
                    xmlReader.Read();
                    Console.WriteLine(elementName + ": " + xmlReader.Value);
                }
            }
        }

PERBARUI: Untuk menjawab komentar bermanfaat dari @Wiktor Zychla

Kinerja pendekatan ini lebih baik dan bisa banyak lebih baik ketika berhadapan dengan bidang XML besar karena SqlReader.GetString akan memuat konten bidang ke dalam string terlebih dahulu saat SqlReader.GetSqlXml membuat XmlReader dari aliran secara langsung. Itu dapat dengan cepat diverifikasi dengan melihat System.Data di Reflector atau alat serupa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana sp_describe_first_result_set Bekerja di SQL Server

  2. Bagaimana saya bisa mengulang semua file dalam folder menggunakan TSQL?

  3. Mengapa mengeksekusi prosedur tersimpan lebih cepat daripada kueri SQL dari skrip?

  4. tidak ada sqljdbc_auth di java.library.path

  5. Cara Menjumlahkan nilai Kolom Pivot dan menambahkannya ke Kolom Pivot lainnya