วิธีการที่ผสานข้อมูลจากเอกสาร XML ที่สองโดยใช้ System.Xml โดยใช้ Visual C# .NET

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:311530
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
สำหรับรุ่น Microsoft Visual Basic .NET บทความนี้ ให้ดู 308066.

บทความนี้อ้างอิงไปยังไลบรารีคลาสของกรอบงาน Microsoft .NET namespaces ดังต่อไปนี้:
  • System.Xml
  • System.Io
  • System.Data

ในงานนี้

สรุป
บทความที่มีการทีละขั้นตอนนี้แสดงวิธีการใช้วัตถุเป็นชุดข้อมูลเมื่อต้องผสานเอกสาร XML ที่สอง ในชุดข้อมูลวัตถุเป็นศูนย์กลางของการสนับสนุนยกเลิกการเชื่อมต่อ กระจายสถานการณ์ข้อมูล ด้วย ADO.NET ในชุดข้อมูลเป็นตัวแทนการเก็บในหน่วยความจำของข้อมูลที่สอดคล้องกัน เชิงเขียนโปรแกรมรูปแบบโดยไม่คำนึงถึงแหล่งข้อมูล ในชุดข้อมูลแสดงถึงชุดของข้อมูล รวมถึงตารางที่เกี่ยวข้อง ข้อบังคับ และความสัมพันธ์ระหว่างตารางที่สมบูรณ์

back to the top

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Windows XP, Windows 2000 หรือ Windows NT 4.0 Service Pack 6a (SP6a)
  • Microsoft Visual Studio ที่.NET
บทความนี้อนุมานว่า คุณคุ้นเคยกับหัวข้อต่อไปนี้:
  • ไวยากรณ์ของ C# .NET แสดงผล
  • Extensible Markup Language (XML)
back to the top

สร้างแฟ้ม Books1.xml

  1. จากเมนูของ Windowsรีสตาร์ทคลิกเรียกใช้ชนิด Notepad.exeแล้ว คลิกตกลง
  2. เน้นรหัสต่อไปนี้ คลิกขวารหัส และจากนั้น คลิกคัดลอก ใน Notepad บนเมนู'แก้ไข' คลิกการวาง
    <?xml version="1.0"?><catalog>   <book id="bk101">      <author>Gambardella, Matthew</author>      <title>XML Developer's Guide</title>      <genre>Computer</genre>      <price>44.95</price>   </book>   <book id="bk102">      <author>Jeanette, Dasha</author>      <title>Quack the Duck</title>      <genre>Fantasy</genre>      <price>5.95</price>   </book></catalog>					
  3. บนเมนูแฟ้มคลิกบันทึก
  4. ในการบันทึกเป็นกล่องโต้ตอบ ในกล่องรายการแบบหล่นลงบันทึกเป็นชนิดคลิกแฟ้มทั้งหมด ในกล่องข้อความชื่อแฟ้มพิมพ์ Books1.xmlแล้ว คลิกบันทึก
back to the top

สร้างแฟ้ม Books2.xml

  1. ใน Notepad สร้างแฟ้มข้อความใหม่ที่ชื่อว่า Books2.xml
  2. คัดลอก และวาง XML ต่อไปนี้ลงใน Books2.xml:
    <?xml version="1.0"?><catalog><book id="bk106">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <genre>Romance</genre>      <price>4.95</price>   </book>   <book id="bk107">      <author>Vinzovskaia, Irina</author>      <title>Piano Fort A</title>      <genre>Romance</genre>      <price>4.95</price>   </book></catalog>					
  3. บนเมนูแฟ้มคลิกบันทึก
  4. ในการบันทึกเป็นกล่องโต้ตอบ ในกล่องรายการแบบหล่นลงบันทึกเป็นชนิดคลิกแฟ้มทั้งหมด ในกล่องข้อความชื่อแฟ้มพิมพ์ Books2.xmlแล้ว คลิกบันทึก
back to the top

ขั้นตอนการสร้างโปรแกรม Visual C# .NET ประยุกต์

  1. เริ่มการทำงานของ.NET Studio แสดงผล และสร้างโครงการ Visual C# คอนโซลแอพพลิเคชันใหม่แล้ว
  2. เพิ่มรหัสต่อไปนี้ไปยังด้านบนของหน้าต่างรหัส:
    using System;using System.Xml;using System.IO;using System.Data ;					
  3. คัดลอก และวางรหัสต่อไปนี้ในแบบสแตติกโมฆะหลัก (สตริ[]อาร์กิวเมนต์):
    try	{		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml");		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books2.xml");		DataSet ds = new DataSet();		ds.ReadXml(xmlreader1);		DataSet ds2 = new DataSet();		ds2.ReadXml(xmlreader2);		ds.Merge(ds2);		ds.WriteXml("C:\\Books.xml");		Console.WriteLine("Completed merging XML documents");	}	catch (System.Exception ex)	{		Console.Write(ex.Message);	}Console.Read();						
  4. สร้าง และเรียกใช้แอพลิเคชัน โปรดสังเกตว่า ข้อความ "เสร็จสิ้นการผสานเอกสาร XML" ปรากฏขึ้นในหน้าต่างคอนโซล
  5. ปิดหน้าต่างคอนโซล โปรดสังเกตว่า แฟ้ม Books.xml ที่ถูกสร้างขึ้นในเส้นทางที่คุณระบุ
  6. เปิด Books.xml ขอให้สังเกตว่า มีผนวกข้อมูลจาก Books2.xml ไปจุดสิ้นสุดการ Books1.xml
back to the top

สถานการณ์สมมติเอกสาร XML ที่แตกต่างกัน

ผสานเอกสาร XML ที่มีโครงสร้างเดียวกัน

ตัวอย่างของ Visual C# .NET ก่อนหน้านี้แสดงผลลัพธ์ของเอกสาร XML โดยใช้โครงสร้างเดียวกัน

back to the top

ผสานเอกสาร XML ที่มีโครงสร้างที่แตกต่างกัน

  1. เปิด Books2.xml และแทน XML กับ XML ต่อไปนี้:
    <?xml version="1.0" ?><SampleData><Customer>          <CustomerName>Bob Frapples</CustomerName>          <PricePerUnit>5.95</PricePerUnit>          <ClosingDate>2001-12-16</ClosingDate></Customer><Customer>          <CustomerName>Bob Frapples</CustomerName>          <PricePerUnit>5.95</PricePerUnit>          <ClosingDate>2001-12-16</ClosingDate></Customer></SampleData>					
  2. บันทึก Books2.xml
  3. เรียกใช้โครงการ Visual C# .NET อีกครั้ง โปรดสังเกตว่า โหนจากเอกสารสอง (Books2.xml) ถูกผนวกเข้ากับเอกสาร XML แรก (Books1.xml)
back to the top

ผสานเอกสาร XML ที่ มีโครงสร้างคล้ายเอกสารที่สองที่ประกอบด้วยองค์ประกอบเพิ่มเติม

  1. เปิด Books2.xml และแทน XML กับ XML ต่อไปนี้:
    <?xml version="1.0"?><catalog><book id="bk106">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <genre>Romance</genre>      <price>4.95</price>      <publish_date>2000-09-02</publish_date>      <description>When Carla meets Paul at an ornithology       conference, tempers fly as feathers get ruffled.</description>   </book>   <book id="bk107">      <author>Vinzovskaia, Irina</author>      <title>Piano Fort A</title>      <genre>Romance</genre>      <price>4.95</price>      <publish_date>2000-11-02</publish_date>      <description>Two young pianists strike a chord when they fight a       pitched battle to stop the gnomes at a key base.</description>   </book></catalog>					
  2. บันทึก Books2.xml
  3. เรียกใช้โครงการ Visual C# .NET อีกครั้ง โปรดสังเกตว่า โหนจากเอกสารสองถูกผนวกเข้ากับเอกสาร XML แรก
back to the top

ผสานเอกสาร XML ที่ มีโครงสร้างคล้ายเอกสารที่สองที่ประกอบด้วยแอตทริบิวต์

  1. เปิด Books2.xml และแทน XML กับ XML ต่อไปนี้:
    <?xml version="1.0"?><catalog><book id="bk106" genre="Romance">      <author>Randall, Cynthia</author>      <title>Lover Birds</title>      <price>4.95</price>   </book>   <book id="bk107" genre="Romance">      <author>Vinzovskaia, Irina</author>      <title>Piano Fort A</title>      <price>4.95</price>   </book>   <book id="bk108" genre="Horror">      <author>de Dogg, Jazz</author>      <title>Night of the Flea</title>      <price>4.95</price>   </book>   </catalog>					
  2. บันทึก Books2.xml
  3. เรียกใช้โครงการ Visual C# .NET อีกครั้ง โปรดสังเกตว่า โหนจากเอกสารสองถูกผนวกเข้ากับเอกสาร XML แรก และโครงสร้างเดียวกันเป็นเอกสาร XML แรก
back to the top

ผสานเอกสาร XML ที่ มีเอกสารแรกที่ประกอบด้วยแอตทริบิวต์ของโครงสร้างที่คล้ายคลึงกัน

  1. ปรับเปลี่ยนโค้ด Visual C# ดังนั้น Books1.xml จะถูกผนวกเข้ากับ Books2.xml:
    try	{		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books2.xml");		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books1.xml");		DataSet ds = new DataSet();		ds.ReadXml(xmlreader1);		DataSet ds2 = new DataSet();		ds2.ReadXml(xmlreader2);		ds.Merge(ds2);		ds.WriteXml("C:\\Books.xml");		Console.WriteLine("Completed merging XML documents");	}	catch (System.Exception ex)	{		Console.Write(ex.Message);	}Console.Read();						
  2. เรียกใช้โครงการ Visual C# .NET อีกครั้ง ขอให้สังเกตว่า เอกสาร XML resultant ผนวกโหนจาก Books1.xml เพื่อ Books2.xml นอกจากนี้ ขอให้สังเกตว่า ทั้งหมดของโหนดสมุดบัญชีประกอบด้วยแอตทริบิวต์ "ประเภท"

    ดังนั้น ขึ้นอยู่กับโครงสร้างของเอกสาร XML แรก เอกสาร XML สองถูกปรับเปลี่ยนเพื่อให้ resultant XML มีความหมายมากกว่า
back to the top
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติม คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
286817 วิธีการที่ผสานข้อมูลในเอกสาร XML ที่สอง โดยการเขียนโปรแกรมแบบวัตถุเอกสาร (DOM)
back to the top

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 311530 - การตรวจสอบครั้งสุดท้าย: 12/07/2015 08:06:27 - ฉบับแก้ไข: 4.0

Microsoft Visual C# .NET 2002 Standard Edition, Microsoft Visual C# .NET 2003 Standard Edition, Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1

  • kbnosurvey kbarchive kbhowtomaster kbio kbsystemdata kbmt KB311530 KbMtth
คำติชม