XML เป็นแท็กที่ผู้ใช้กำหนด หากมีข้อผิดพลาดเล็กน้อยโปรแกรมซอฟต์แวร์จะไม่สามารถรับเนื้อหาของไฟล์ได้อย่างถูกต้องและรายงานข้อผิดพลาด ชัดเจนหรือไม่ที่จะอธิบายข้อมูลทางเทคนิคที่เกี่ยวข้องกับ XML สั้น ๆ ? ให้บรรณาธิการของช่องเทคโนโลยีใหม่ของ Foot พาคุณไปเรียนรู้เพิ่มเติมเกี่ยวกับเรื่องนี้!
ข้อมูลทางเทคนิคที่เกี่ยวข้องกับ XML
1. เทคโนโลยีการจัดการระยะไกลฐานข้อมูล
ส่วนสำคัญของแอพพลิเคชั่น WAN บนอินเทอร์เน็ตที่ทันสมัยคือการตรวจสอบระยะไกลฐานข้อมูล ก่อนอื่นลองทบทวนกระบวนการพัฒนาและวิธีการของเทคโนโลยีการจัดการระยะไกลในอินเทอร์เน็ตสั้น ๆ :
ในวันแรก ๆ ฐานข้อมูลได้รับการจัดการจากระยะไกลโดยการเขียนโมดูลโปรแกรม CGI-bin อย่างไรก็ตาม CGI-bin ทำงานได้ช้าและไม่สะดวกในการบำรุงรักษาและตอนนี้เลิกเลิกโดยทั่วไป
ในช่วงไม่กี่ปีที่ผ่านมามีแอพพลิเคชั่นมากมายที่ใช้โมเดลวัตถุส่วนประกอบ (COM) และเอฟเฟกต์ก็ดีมาก อย่างไรก็ตามหากคุณใช้เซิร์ฟเวอร์บุคคลที่สาม (เว็บไซต์ของผู้เขียนถูกสร้างขึ้นบนโฮสต์เสมือนของบุคคลที่สาม) เซิร์ฟเวอร์มักไม่อนุญาตให้ผู้ใช้ลงทะเบียนส่วนประกอบของตนเองเนื่องจากการรักษาความลับหรือเหตุผลเชิงพาณิชย์อื่น ๆ
ในช่วงไม่กี่ปีที่ผ่านมาแพลตฟอร์ม. NET เปิดตัวโดย Microsoft และแพลตฟอร์ม J2EE ของ Sun เป็นทั้งฐานข้อมูลระยะไกลการจัดการระยะไกลและแพลตฟอร์มบริการ ทั้งหมดสามารถให้บริการแอปพลิเคชันหลายชั้นที่มีคุณภาพสูง (N-Tier)
ในหมู่พวกเขาโปรโตคอลการเข้าถึงวัตถุอย่างง่ายของ. NET ใช้ Hypertext Transfer Protocol (HTTP) และเทคโนโลยี Markup Language (XML) ที่ขยายได้เพื่อใช้วิธีการสื่อสารข้ามระบบ (เช่น Windows - Linux) ได้รับการยอมรับและใช้อย่างกว้างขวางโดยนักพัฒนา แอพพลิเคชั่นขนาดใหญ่จำนวนมากเช่นการวางแผนทรัพยากรองค์กร (ERP) ถูกสร้างขึ้นบนแพลตฟอร์มขนาดใหญ่ดังกล่าว
อย่างไรก็ตามสำหรับแอพพลิเคชั่นขนาดเล็กและขนาดกลางเช่นการก่อสร้างและการบำรุงรักษาเว็บไซต์นั้นแพลตฟอร์มแอปพลิเคชันขนาดใหญ่ดูเหมือนจะใหญ่เกินไปและค่าใช้จ่ายนั้นใหญ่เกินไป
Microsoft ซึ่งครั้งหนึ่งเคยล้าหลังในเทคโนโลยีอินเทอร์เน็ตและเทคโนโลยี Java อยู่ข้างหน้าการพัฒนาแอปพลิเคชัน XML โปรโตคอล XMLHTTP ใน XML Parser (MSXML) ของเธอเป็นไปป์ไลน์การสื่อสารของลูกค้า/บริการที่สะดวกและใช้งานได้จริง การใช้วัตถุข้อมูล XMLHTTP และ ActiveX ที่ครอบคลุม (วัตถุข้อมูล ActiveX, ADO/ADOX) สามารถใช้งานการจัดการฐานข้อมูลระยะไกลได้อย่างง่ายดายและสะดวก
บทความนี้แนะนำวิธีการใช้ XMLHTTP และ ADO/ADOX ในวิธีที่ครอบคลุมสำหรับการจัดการฐานข้อมูลระยะไกล
2. ระบบการจัดการระยะไกลฐานข้อมูล
กระบวนการงานสำหรับการจัดการฐานข้อมูลระยะไกลคือ:
1. ไคลเอ็นต์ออกเคียวรีหรือแก้ไขคำแนะนำสำหรับโครงสร้างฐานข้อมูลและข้อมูลไปยังเซิร์ฟเวอร์
2. เซิร์ฟเวอร์ยอมรับและดำเนินการคำแนะนำที่เกี่ยวข้องและส่งคืนผลลัพธ์ไปยังไคลเอนต์
3. ไคลเอนต์ยอมรับและแสดงผลการดำเนินการของคำสั่งที่ส่งคืนโดยเซิร์ฟเวอร์
ลิงค์หลักสองลิงก์ในการตระหนักถึงการจัดการฐานข้อมูลระยะไกลคือ:
1. ช่องข้อมูลสำหรับการอัปโหลดคำแนะนำและการดาวน์โหลดผลลัพธ์ระหว่างไคลเอนต์และเซิร์ฟเวอร์ถูกนำไปใช้โดยโปรโตคอล XMLHTTT
2. การส่งคำสั่งและผลการส่งคืนระหว่างเซิร์ฟเวอร์ front-end และฐานข้อมูลจะเสร็จสมบูรณ์โดยอินเทอร์เฟซ ADO/ADOX ที่มีบทบาทของเลเยอร์กลาง
3. การใช้ xmlhttp
ตามชื่อแนะนำ XMLHTTP เป็นโปรโตคอลการส่งไฮเปอร์เท็กซ์ที่ส่งข้อมูลรูปแบบ XML
ในความเป็นจริงกระบวนการส่งข้อมูลของ XMLHTTP มีความยืดหยุ่นมากกว่า:
คำแนะนำที่อัปโหลดอาจเป็นข้อมูลรูปแบบ XML สตริงสตรีมหรืออาร์เรย์ของจำนวนเต็มที่ไม่ได้ลงชื่อ นอกจากนี้ยังสามารถเป็นพารามิเตอร์ URL
ผลลัพธ์ที่ส่งสามารถเป็นข้อมูลรูปแบบ XML สตริงสตรีมหรืออาร์เรย์ของจำนวนเต็มที่ไม่ได้ลงชื่อ
สำหรับรายละเอียดโปรดดูลิงค์ในตอนท้ายของบทความ
กระบวนการโทร XMLHTTP โดยไคลเอนต์นั้นง่ายมากโดยมีเพียง 5 ขั้นตอนเท่านั้น:
1. สร้างวัตถุ XMLHTTT
2. เปิดการเชื่อมต่อกับเซิร์ฟเวอร์และกำหนดวิธีการส่งคำสั่งเว็บเพจบริการ (URL) และการขออนุญาต ฯลฯ
ไคลเอนต์เปิดการเชื่อมต่อไปยังหน้าบริการของเซิร์ฟเวอร์ผ่านคำสั่งเปิด เช่นเดียวกับการส่งคำสั่ง HTTP แบบธรรมดาคุณสามารถใช้วิธีการ "รับ" หรือวิธี "โพสต์" เพื่อชี้ไปที่หน้าเว็บบริการบนเซิร์ฟเวอร์
3. ส่งคำสั่ง
4. รอและรับผลการประมวลผลที่ส่งคืนโดยเซิร์ฟเวอร์
5. ปล่อยวัตถุ XMLHTTT
วิธี XMLHTTP:
เปิด bstrmethod, bstrurl, varasync, bstruser, bstrpassword
BSTRMethod: วิธีการส่งข้อมูลเช่นรับหรือโพสต์
Bstrurl: URL ของหน้าเว็บที่ให้บริการ
Varasync: จะดำเนินการแบบซิงโครนัสหรือไม่ ค่าเริ่มต้นเป็นจริงซึ่งหมายถึงการดำเนินการแบบซิงโครนัส แต่การดำเนินการแบบซิงโครนัสสามารถนำไปใช้ใน DOM เท่านั้น
ในแอปพลิเคชันโดยทั่วไปจะถูกตั้งค่าเป็นเท็จนั่นคือการดำเนินการแบบอะซิงโครนัส
Bstruser: ชื่อผู้ใช้สามารถละเว้นได้
BSTRASSWORD: รหัสผ่านผู้ใช้สามารถละเว้นได้
ส่ง varbody
Varbody: ชุดคำสั่ง สามารถเป็นข้อมูลรูปแบบ XML หรือสตริงสตรีมหรืออาร์เรย์ของจำนวนเต็มที่ไม่ได้ลงชื่อ นอกจากนี้ยังสามารถละเว้นและปล่อยให้คำสั่งถูกแทนที่ผ่านพารามิเตอร์ URL ของวิธีการเปิด
setRequestheader bstrheader, bstrvalue
BSTRHEADER: HTTP Header (ส่วนหัว)
BSTRVALUE: ค่าของส่วนหัว HTTP (ส่วนหัว)
หากวิธีการเปิดถูกกำหนดเป็นโพสต์คุณสามารถกำหนดวิธีการฟอร์มเพื่ออัปโหลด:
xmlhttp.setrequestheader "content-type", "แอปพลิเคชัน/x-www-form-urlencoded"
คุณสมบัติ XMLHTTP:
OnReadyStateChange: รับที่จับเหตุการณ์ที่ส่งคืนผลลัพธ์ในโหมดการดำเนินการแบบซิงโครนัส สามารถเรียกได้ใน DOM เท่านั้น
ResponseBody: ผลลัพธ์จะถูกส่งคืนเป็นอาร์เรย์ของจำนวนเต็มที่ไม่ได้ลงชื่อ
ResponseStream: ผลลัพธ์จะถูกส่งคืนเป็นสตรีม istream
ResponseText: ผลลัพธ์จะถูกส่งคืนเป็นสตริง
Responsexml: ผลลัพธ์จะถูกส่งกลับเป็นข้อมูลรูปแบบ XML
ต่อไปนี้เป็นตัวอย่างแอปพลิเคชันในโปรแกรมต้นทางที่แนบมากับบทความนี้:
ฟังก์ชั่น getResult (urlstr)
DIM XMLHTTP
สลัว retstr
ตั้งค่า xmlhttp = createObject ("msxml2.xmlhttp") 'สร้างวัตถุ
ในข้อผิดพลาดในการจัดการข้อผิดพลาดถัดไป '
xmlhttp.open "โพสต์", urlstr, false 'ใช้วิธีการโพสต์เพื่อเปิดการเชื่อมต่อและดำเนินการแบบอะซิงโครนัส
xmlhttp.setrequestheader "content-type", "แอปพลิเคชัน/x-www-form-urlencoded"
xmlhttp.send 'คำสั่งส่ง
ถ้า err.number = 0 แล้ว 'หากการเชื่อมต่อถูกต้อง
retstr = xmlhttp.responsetext 'รอและรับสตริงผลลัพธ์ที่ส่งคืนโดยเซิร์ฟเวอร์
อื่น
retstr = "url ไม่พบ" 'มิฉะนั้นข้อความแสดงข้อผิดพลาดจะถูกส่งคืน
สิ้นสุดถ้า
ตั้งค่า xmlhttp = ไม่มีอะไร 'ปล่อยวัตถุ
getResult = ผลตอบแทน 'retstr
ฟังก์ชันสิ้นสุด
ฟังก์ชั่น getResult () นำพารามิเตอร์ URL ของหน้าเว็บบริการและวางคำสั่งที่อัปโหลดบนพารามิเตอร์ที่อยู่ด้านหลัง URL เช่น::
urlstr = "server.asp? cmd =" & cmd & "& db =" & db & "table =" & ตาราง
CMD: วิธีการดำเนินการเช่นการสืบค้นการดัดแปลงการลบ ฯลฯ
DB: ชื่อฐานข้อมูลเซิร์ฟเวอร์
ตาราง: ชื่อตารางเซิร์ฟเวอร์
จากนั้นส่งคำสั่งรอและรับผลการประมวลผลที่ส่งคืน ผลลัพธ์จะถูกส่งคืนเป็นสตริง
ในที่สุดกระบวนการเรียกใช้ฟังก์ชันและแสดงผลลัพธ์
บทความข้างต้นอธิบายข้อมูลทางเทคนิคที่เกี่ยวข้องกับ XML สั้น ๆ ฉันเชื่อว่าทุกคนมีความเข้าใจที่แน่นอน หากคุณต้องการทราบข้อมูลทางเทคนิคเพิ่มเติมโปรดดำเนินการต่อเพื่อให้ความสนใจกับช่องทางเทคโนโลยีใหม่ที่ไม่ถูกต้อง!