XML Tutorial

XML หน้าแรก บทนำ XML XML วิธีใช้งาน XML Tree ไวยากรณ์ XML องค์ประกอบ XML คุณสมบัติ XML XML เนมสเปซ จอแสดงผล XML XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink เครื่องมือตรวจสอบ XML XML DTD XML Schema XML Server ตัวอย่าง XML แบบทดสอบ XML ใบรับรอง XML

XML AJAX

บทนำ AJAX AJAX XMLHttp คำขอ AJAX การตอบสนอง AJAX ไฟล์ AJAX XML AJAX PHP AJAX ASP ฐานข้อมูล AJAX แอปพลิเคชัน AJAX ตัวอย่าง AJAX

XML DOM

บทนำ DOM โหนด DOM การเข้าถึง DOM ข้อมูลโหนด DOM รายการโหนด DOM DOM Traversing การนำทาง DOM DOM รับค่า DOM เปลี่ยนโหนด DOM ลบโหนด DOM แทนที่โหนด DOM สร้างโหนด DOM เพิ่มโหนด DOM โคลนโหนด ตัวอย่าง DOM

บทช่วย สอนXPath

บทนำ XPath โหนด XPath ไวยากรณ์ XPath แกน XPath ตัวดำเนินการ XPath ตัวอย่าง XPath

กวดวิชาXSLT

บทนำ XSLT ภาษา XSL การแปลง XSLT XSLT <แม่แบบ> XSLT <ค่าของ> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <เลือก> ใช้ XSLT XSLT บนไคลเอนต์ XSLT บนเซิร์ฟเวอร์ XSLT แก้ไข XML ตัวอย่าง XSLT

กวดวิชาXQuery

บทนำ XQuery ตัวอย่าง XQuery XQuery FLWOR XQuery HTML ข้อกำหนด XQuery ไวยากรณ์ XQuery XQuery เพิ่ม XQuery Select ฟังก์ชัน XQuery

XML DTD

บทนำ DTD บล็อกตัวต่อ DTD องค์ประกอบ DTD คุณสมบัติ DTD องค์ประกอบ DTD เทียบกับ Attr หน่วยงาน DTD ตัวอย่าง DTD

ส คีมา XSD

บทนำ XSD XSD วิธีการ XSD <schema> องค์ประกอบ XSD แอตทริบิวต์ XSD ข้อจำกัด XSD

XSD Complex

องค์ประกอบ XSD XSD ว่างเปล่า องค์ประกอบ XSD เท่านั้น XSD Text เท่านั้น XSD ผสม ตัวชี้วัด XSD XSD <ใด ๆ> XSD <anyAttribute> การทดแทน XSD XSD ตัวอย่าง

ข้อมูลXSD

XSD สตริง วันที่ XSD XSD ตัวเลข XSD เบ็ดเตล็ด ข้อมูลอ้างอิง XSD

บริการเว็บ

XML Services XML WSDL XML SOAP XML RDF XML RSS

อ้างอิง

ประเภทโหนด DOM โหนด DOM DOM NodeList DOM NamedNodeMap เอกสาร DOM องค์ประกอบ DOM แอตทริบิวต์ DOM ข้อความ DOM DOM CDATA ความคิดเห็นของ DOM DOM XMLHttpRequest DOM Parser องค์ประกอบ XSLT ฟังก์ชัน XSLT/XPath

×

Header

กวดวิชา XML DOM


XML DOM

DOM node tree

DOM คืออะไร?

DOM กำหนดมาตรฐานสำหรับการเข้าถึงและจัดการเอกสาร:

"W3C Document Object Model (DOM) เป็นแพลตฟอร์มและอินเทอร์เฟซที่เป็นกลางทางภาษา ซึ่งช่วยให้โปรแกรมและสคริปต์สามารถเข้าถึงและอัปเดตเนื้อหา โครงสร้าง และรูปแบบของเอกสารแบบไดนามิกได้"

HTML DOM กำหนดวิธีมาตรฐานในการเข้าถึงและจัดการเอกสาร HTML มันนำเสนอเอกสาร HTML เป็นโครงสร้างแบบต้นไม้

XML DOM กำหนดวิธีมาตรฐานในการเข้าถึงและจัดการเอกสาร XML มันนำเสนอเอกสาร XML เป็นโครงสร้างแบบต้นไม้

การทำความเข้าใจ DOM เป็นสิ่งจำเป็นสำหรับทุกคนที่ทำงานด้วย HTML หรือ XML


HTML DOM

องค์ประกอบ HTML ทั้งหมดสามารถเข้าถึงได้ผ่าน HTML DOM

ตัวอย่างนี้เปลี่ยนค่าขององค์ประกอบ HTML ด้วย id="demo":

ตัวอย่าง

<h1 id="demo">This is a Heading</h1>

<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>

ตัวอย่างนี้เปลี่ยนค่าขององค์ประกอบ <h1> แรกในเอกสาร HTML:

ตัวอย่าง

<h1>This is a Heading</h1>

<h1>This is a Heading</h1>

<script>
document.getElementsByTagName("h1")[0].innerHTML = "Hello World!";
</script>

หมายเหตุ:แม้ว่าเอกสาร HTML จะมีเพียงหนึ่งองค์ประกอบ <h1> คุณยังต้องระบุดัชนีอาร์เรย์ [0] เนื่องจากเมธอด getElementsByTagName() จะส่งคืนอาร์เรย์เสมอ

คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ HTML DOM ได้ใน บทช่วย สอน JavaScriptของ เรา



XML DOM

องค์ประกอบ XML ทั้งหมดสามารถเข้าถึงได้ผ่าน XML DOM

XML DOM คือ:

  • โมเดลอ็อบเจ็กต์มาตรฐานสำหรับ XML
  • อินเทอร์เฟซการเขียนโปรแกรมมาตรฐานสำหรับ XML
  • แพลตฟอร์ม-และภาษา-อิสระ
  • มาตรฐาน W3C

กล่าวอีกนัยหนึ่ง: XML DOM เป็นมาตรฐานสำหรับวิธีการรับ เปลี่ยนแปลง เพิ่ม หรือลบองค์ประกอบ XML


รับค่าขององค์ประกอบ XML

รหัสนี้ดึงค่าข้อความขององค์ประกอบ <title> แรกในเอกสาร XML:

ตัวอย่าง

txt = xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;

กำลังโหลดไฟล์ XML

ไฟล์ XML ที่ใช้ในตัวอย่างด้านล่างคือbooks.xml

ตัวอย่างนี้อ่าน "books.xml" เป็น xmlDoc และดึงค่าข้อความขององค์ประกอบ <title> แรกใน books.xml:

ตัวอย่าง

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
};
xhttp.open("GET", "books.xml", true);
xhttp.send();

function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
}
</script>

</body>
</html>

ตัวอย่างที่อธิบาย

  • xmlDoc - อ็อบเจ็กต์ XML DOM ที่สร้างโดย parser
  • getElementsByTagName("title")[0] - รับ <title> องค์ประกอบแรก
  • childNodes[0] - ลูกคนแรกขององค์ประกอบ <title> (โหนดข้อความ)
  • nodeValue - ค่าของโหนด (ตัวข้อความเอง)

กำลังโหลดสตริง XML

ตัวอย่างนี้โหลดสตริงข้อความลงในวัตถุ XML DOM และดึงข้อมูลจากมันด้วย JavaScript:

ตัวอย่าง

<html>
<body>

<p id="demo"></p>

<script>
var text, parser, xmlDoc;

text = "<bookstore><book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"<year>2005</year>" +
"</book></bookstore>";

parser = new DOMParser();
xmlDoc = parser.parseFromString(text,"text/xml");

document.getElementById("demo").innerHTML =
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
</script>

</body>
</html>

อินเทอร์เฟซการเขียนโปรแกรม

DOM จำลอง XML เป็นชุดของอ็อบเจ็กต์โหนด โหนดสามารถเข้าถึงได้ด้วย JavaScript หรือภาษาการเขียนโปรแกรมอื่นๆ ในบทช่วยสอนนี้ เราใช้ JavaScript

อินเทอร์เฟซการเขียนโปรแกรมไปยัง DOM ถูกกำหนดโดยคุณสมบัติและวิธีการมาตรฐานที่ตั้งไว้

คุณสมบัติมักถูกอ้างถึงเป็นสิ่งที่ (เช่น nodename คือ "book")

วิธีการมักถูกอ้างถึงเป็นสิ่งที่ทำเสร็จแล้ว (เช่น ลบ "หนังสือ")


คุณสมบัติ XML DOM

นี่คือคุณสมบัติ DOM ทั่วไปบางประการ:

  • x.nodeName - ชื่อของx
  • x.nodeValue - ค่าของ x
  • x.parentNode - โหนดพาเรนต์ของ x
  • x.childNodes - โหนดย่อยของ x
  • x.attributes - โหนดแอตทริบิวต์ของ x

หมายเหตุ: ในรายการด้านบน x คืออ็อบเจ็กต์โหนด


วิธีการ XML DOM

  • x.getElementsByTagName( name ) - รับองค์ประกอบทั้งหมดที่มีชื่อแท็กที่ระบุ
  • x.appendChild( โหนด ) - แทรกโหนดย่อยไปที่ x
  • x.removeChild( โหนด ) - ลบโหนดย่อยออกจาก x

หมายเหตุ: ในรายการด้านบน x คืออ็อบเจ็กต์โหนด