⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 C#高级编程第6版随书源代码 值得下载
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Text;
using System.Xml;

namespace XmlClient
{
   class Program
   {
      static void XmlReaderDemo()
      {
         string connectionString =
            @"server=(local);database=ProCSharp;trusted_connection=true";
         SqlConnection connection = new SqlConnection(connectionString);
         SqlCommand command = connection.CreateCommand();
         command.CommandText = "SELECT Id, Number, Info FROM Exams";
         connection.Open();
         SqlDataReader reader = command.ExecuteReader(
               CommandBehavior.CloseConnection);
         while (reader.Read())
         {
            SqlXml xml = reader.GetSqlXml(2);
            XmlReader xmlReader = xml.CreateReader();

            StringBuilder courses = new StringBuilder("Course(s): ", 40);
            while (xmlReader.Read())
            {
               if (xmlReader.Name == "Exam" && xmlReader.IsStartElement())
               {
                  Console.WriteLine("Exam: {0}", xmlReader.GetAttribute("Number"));
               }
               else if (xmlReader.Name == "Title" && xmlReader.IsStartElement())
               {
                  Console.WriteLine("Title: {0}", xmlReader.ReadString());
               }
               else if (xmlReader.Name == "Course" && xmlReader.IsStartElement())
               {
                  courses.AppendFormat("{0} ", xmlReader.ReadString());
               }
            }
            xmlReader.Close();
            Console.WriteLine(courses.ToString());
            Console.WriteLine();
         }
         reader.Close();
      }

      static void XmlDocumentDemo()
      {
         string connectionString =
               @"server=(local);database=ProCSharp;trusted_connection=true";
         SqlConnection connection = new SqlConnection(connectionString);
         SqlCommand command = connection.CreateCommand();
         command.CommandText = "SELECT Id, Number, Info FROM Exams";
         connection.Open();
         SqlDataReader reader = command.ExecuteReader(
               CommandBehavior.CloseConnection);
         while (reader.Read())
         {
            SqlXml xml = reader.GetSqlXml(2);
            XmlDocument doc = new XmlDocument();
            doc.LoadXml(xml.Value);

            XmlNode examNode = doc.SelectSingleNode("//Exam");
            Console.WriteLine("Exam: {0}", examNode.Attributes["Number"].Value);
            XmlNode titleNode = examNode.SelectSingleNode("./Title");
            Console.WriteLine("Title: {0}", titleNode.InnerText);
            Console.Write("Course(s): ");
            foreach (XmlNode courseNode in examNode.SelectNodes("./Course"))
            {
               Console.Write("{0} ", courseNode.InnerText);               
            }
            Console.WriteLine();

         }
         reader.Close();
      }

      static void Main()
      {
         // XmlReaderDemo();
         XmlDocumentDemo();
  

      }
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -