<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Web on File Format Blog</title>
    <link>https://blog.fileformat.com/ms/categories/web/</link>
    <description>Recent content in Web on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ms</language>
    <lastBuildDate>Tue, 25 Mar 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/ms/categories/web/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Apa Itu XML: Panduan Komprehensif</title>
      <link>https://blog.fileformat.com/ms/web/what-is-xml-comprehensive-guide/</link>
      <pubDate>Tue, 25 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/ms/web/what-is-xml-comprehensive-guide/</guid>
      <description>XML (Bahasa Penanda yang Diperluas) adalah bahasa penanda dan format fail yang digunakan untuk menyimpan, menghantar, dan membina semula data. Ia menyediakan pendekatan berstruktur untuk mengekod maklumat, menjadikannya boleh dibaca oleh manusia dan mesin.</description>
      <content:encoded><![CDATA[<p><strong>Kemas Kini Terakhir</strong>: 21 May, 2025</p>
<figure class="align-center ">
    <img loading="lazy" src="images/what-is-xml-comprehensive-guide.webp#center"
         alt="Tajuk - Apa Itu XML: Panduan Komprehensif"/> 
</figure>

<h2 id="apa-itu-xml">Apa Itu XML?</h2>
<p><a href="https://docs.fileformat.com/web/xml/">XML (Bahasa Penanda yang Diperluas)</a> adalah bahasa penanda dan format fail yang digunakan untuk menyimpan, menghantar, dan membina semula data. Ia menyediakan pendekatan berstruktur untuk mengekod maklumat, menjadikannya boleh dibaca oleh manusia dan mesin.</p>
<p><em><strong>Ciri-ciri Utama XML</strong></em></p>
<p><strong>1. Ditakrifkan oleh Standard Terbuka</strong></p>
<ul>
<li>Ditubuhkan oleh <strong>World Wide Web Consortium (W3C)</strong> pada tahun 1998 di bawah <strong>Spesifikasi XML 1.0</strong>.</li>
<li>Mengikuti peraturan ketat untuk memastikan data berstruktur dan mudah ditafsir.</li>
</ul>
<p><strong>2. Matlamat Reka Bentuk</strong></p>
<ul>
<li>XML direka dengan <strong>kesederhanaan, kebersamaan, dan kebolehgunaan</strong> merentasi pelbagai platform.</li>
<li>Menggunakan <strong>format berasaskan teks</strong>, menjadikannya mudah dibaca dan diedit.</li>
</ul>
<p><strong>3. Sokongan Unicode</strong></p>
<ul>
<li>XML menyokong <strong>Unicode</strong>, membolehkan ia menyimpan dan memproses teks dalam pelbagai bahasa.</li>
</ul>
<p><strong>4. Kebolehsuaian</strong></p>
<ul>
<li>Pada mulanya dicipta untuk dokumen, XML kini banyak digunakan untuk representasi data merentasi pelbagai domain, termasuk <strong>perkhidmatan web, API, dan <a href="https://docs.fileformat.com/settings/">fail konfigurasi</a></strong>.</li>
</ul>
<p><strong>5. Skema dan API</strong></p>
<ul>
<li>Struktur XML boleh ditakrifkan menggunakan <strong>Document Type Definition (DTD)</strong>, <strong>XML Schema (XSD)</strong>, atau <strong>Relax NG</strong>.</li>
<li>Pelbagai API, seperti <strong>DOM (Document Object Model)</strong> dan <strong>SAX (Simple API for XML)</strong>, membolehkan pemprosesan XML.</li>
</ul>
<p><strong>6. Penggunaan Umum XML</strong></p>
<ul>
<li><strong>Pertukaran data</strong> antara sistem yang berbeza (contoh, perkhidmatan web, API).</li>
<li><a href="https://docs.fileformat.com/settings/"><strong>Fail konfigurasi</strong></a> dalam aplikasi perisian.</li>
<li><strong>Menyimpan maklumat berstruktur</strong> (contoh, suapan <a href="https://docs.fileformat.com/web/rss/">RSS</a>, grafik <a href="https://docs.fileformat.com/page-description-language/svg/">SVG</a>, format dokumen seperti <a href="https://docs.fileformat.com/word-processing/docx/">DOCX</a>).</li>
<li><strong>Pembangunan web</strong> (contoh, <a href="https://docs.fileformat.com/web/xhtml/">XHTML</a>, SOAP, aplikasi berasaskan AJAX).</li>
</ul>
<hr>
<p>Sekarang anda tahu apa itu XML, pelajari cara <a href="https://blog.fileformat.com/web/a-beginner-guide-to-reading-and-editing-xml-files/">membaca dan mengedit fail XML</a> dengan panduan mesra pemula ini.</p>
<h2 id="gambaran-keseluruhan-xml">Gambaran Keseluruhan XML</h2>
<p><strong>1. Tujuan Utama XML: Serialisasi</strong></p>
<p>Serialisasi dalam XML bermaksud:</p>
<ul>
<li><strong>Menyimpan data</strong> dalam format berstruktur.</li>
<li><strong>Menghantar data</strong> antara sistem yang berbeza.</li>
<li><strong>Membina semula data</strong> dalam bentuk yang boleh digunakan.</li>
</ul>
<p>Apabila dua sistem perlu menukar maklumat, XML menyediakan <strong>format fail piawai</strong> untuk kebolehsambungan. Ia berfungsi sebagai <strong>&ldquo;lingua franca&rdquo;</strong> untuk pertukaran data berstruktur.</p>
<p><strong>2. XML sebagai Bahasa Penanda</strong></p>
<p>XML adalah <strong>bahasa penanda</strong>, yang bermaksud ia:</p>
<ul>
<li><strong>Menandakan data dengan tag</strong> untuk struktur yang jelas.</li>
<li><strong>Menyusun maklumat</strong> secara hierarki.</li>
<li><strong>Mengategorikan data</strong> dengan metadata.</li>
</ul>
<p><strong>Contoh:</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;book&gt;
</span></span><span style="display:flex;"><span>    &lt;title&gt;XML Basics&lt;/title&gt;
</span></span><span style="display:flex;"><span>    &lt;author&gt;John Doe&lt;/author&gt;
</span></span><span style="display:flex;"><span>&lt;/book&gt;
</span></span></code></pre></div><p>Di sini, <code>&lt;book&gt;</code>, <code>&lt;title&gt;</code>, dan <code>&lt;author&gt;</code> adalah <strong>tag</strong> yang mendefinisikan elemen data.</p>
<p><strong>3. Skema XML (XSD) dan Pengesahan</strong></p>
<p>Sebuah <strong>Skema XML (XSD)</strong> mendefinisikan peraturan struktur untuk dokumen XML.</p>
<p>Dokumen XML boleh menjadi:</p>
<ul>
<li><strong>Well-formed</strong> → Mengikuti peraturan sintaks asas (penyusunan yang betul, tag penutup yang tepat).</li>
<li><strong>Valid</strong> → Mematuhi peraturan skema (elemen wajib, jenis data yang betul).</li>
</ul>
<p><strong>Contoh Peraturan XSD:</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;xs:element name=&#34;title&#34; type=&#34;xs:string&#34;/&gt;
</span></span></code></pre></div><p>Ini memastikan bahawa <code>&lt;title&gt;</code> mesti mengandungi <strong>nilai rentetan</strong>.</p>
<p><strong>4. Jenis Media XML (RFC 7303)</strong></p>
<p><strong>IETF RFC 7303</strong> mendefinisikan jenis media XML untuk penghantaran data:</p>
<ul>
<li><strong>application/xml</strong> → Data XML standard.</li>
<li><strong>application/xml-external-parsed-entity</strong> → Entiti XML yang diparse.</li>
<li><strong>application/xml-dtd</strong> → Dokumen DTD XML.</li>
</ul>
<p>Untuk format berasaskan XML, akhiran <strong>+xml</strong> digunakan (contoh, <code>image/svg+xml</code> untuk imej <a href="https://docs.fileformat.com/page-description-language/svg/">SVG</a>).</p>
<p><strong>5. XML dalam Aplikasi Berjaringan (RFC 3470 / IETF BCP 70)</strong></p>
<p><strong>IETF BCP 70 (RFC 3470)</strong> menggariskan amalan terbaik untuk penggunaan XML dalam <strong>aplikasi berasaskan rangkaian</strong>, memastikan <strong>kebolehsambungan data</strong> yang lancar merentasi sistem.</p>
<hr>
<p>Untuk bekerja dengan XML secara programatik, terokai <a href="https://blog.fileformat.com/web/the-best-xml-parsers-for-python-java-and-javascript-with-examples/">penyelesai XML terbaik untuk Python, Java, dan JavaScript</a>.</p>
<h2 id="1-aplikasi-xml"><strong>1. Aplikasi XML</strong></h2>
<p>XML adalah bahasa penanda fleksibel yang direka untuk <strong>pertukaran data melalui Internet</strong>. Sintaksnya telah mempengaruhi pelbagai format dokumen dan protokol komunikasi, menjadikannya teknologi asas dalam banyak industri.</p>
<h3 id="format-berasaskan-xml-umum"><strong>Format Berasaskan XML Umum:</strong></h3>
<ul>
<li><strong>Suapan Web:</strong> <a href="https://docs.fileformat.com/web/rss/">RSS</a>, Atom</li>
<li><strong>Dokumen Pejabat:</strong> Office Open XML, OpenDocument</li>
<li><strong>Grafik dan Model 3D:</strong> <a href="https://docs.fileformat.com/page-description-language/svg/">SVG</a>, COLLADA</li>
<li><strong>Teknologi Web:</strong> <a href="https://docs.fileformat.com/web/xhtml/">XHTML</a></li>
<li><strong>Protokol Pertukaran Data:</strong> SOAP, XMPP</li>
<li><strong>AJAX:</strong> Menggunakan XML untuk pertukaran data tak segerak</li>
</ul>
<h3 id="standard-industri-menggunakan-xml"><strong>Standard Industri Menggunakan XML:</strong></h3>
<ul>
<li><strong>Penjagaan Kesihatan:</strong> HL7 (Health Level 7)</li>
<li><strong>Industri Pelancongan:</strong> OpenTravel Alliance</li>
<li><strong>Kewangan:</strong> FpML (Financial products Markup Language)</li>
<li><strong>Hartaan &amp; Pinjaman:</strong> MISMO</li>
<li><strong>Pertukaran Data Kerajaan:</strong> National Information Exchange Model</li>
</ul>
<h3 id="xml-dalam-sains"><strong>XML dalam Sains:</strong></h3>
<p>Dalam meteorologi, XML digunakan untuk <strong>representasi data cuaca operasi</strong> mengikut <strong>standard IWXXM</strong>. Begitu juga, <strong>Darwin Information Typing Architecture (DITA)</strong> adalah standard XML yang banyak digunakan dalam penerbitan.</p>
<hr>
<p>Untuk pelaksanaan praktikal, lihat tutorial kami tentang <a href="https://blog.fileformat.com/programming/how-to-read-and-edit-xml-files-in-python-java-and-javascript/">cara membaca dan mengedit XML dalam Python, Java, dan JavaScript</a>.</p>
<h2 id="2-terminologi-utama-dalam-xml"><strong>2. Terminologi Utama dalam XML</strong></h2>
<p>Memahami terminologi teras dalam XML adalah penting untuk bekerja dengan dokumen XML secara berkesan.</p>
<h3 id="aksara"><strong>Aksara</strong></h3>
<p>Dokumen XML adalah urutan <strong>aksara Unicode</strong>. XML 1.1 membenarkan hampir semua aksara Unicode, kecuali <strong>aksara Null (<code>U+0000</code>)</strong>, yang dilarang keras.</p>
<h3 id="pemproses-dan-aplikasi"><strong>Pemproses dan Aplikasi</strong></h3>
<ul>
<li><strong>Pemproses XML (atau parser)</strong> membaca dan menganalisis penanda XML.</li>
<li><strong>Aplikasi</strong> menerima data berstruktur daripada pemproses dan bertindak ke atasnya.</li>
</ul>
<h3 id="penanda-dan-kandungan"><strong>Penanda dan Kandungan</strong></h3>
<p>XML membahagikan aksara kepada <strong>penanda dan kandungan</strong>:</p>
<ul>
<li><strong>Penanda:</strong> Termasuk elemen, atribut, dan entiti (contoh, <code>&lt;tag&gt;</code> dan <code>&amp;amp;</code>).</li>
<li><strong>Kandungan:</strong> Data sebenar dalam elemen.</li>
<li><strong>Bahagian CDATA:</strong> Membenarkan teks yang tidak sepatutnya diparse sebagai penanda, dibungkus dalam <code>&lt;![CDATA[ ... ]]&gt;</code>.</li>
</ul>
<h3 id="tag-dan-elemen"><strong>Tag dan Elemen</strong></h3>
<ul>
<li><strong>Tag</strong>: Konstruksi penanda yang dibungkus dalam <code>&lt; &gt;</code>.
<ul>
<li><code>&lt;section&gt;</code> (Tag mula)</li>
<li><code>&lt;/section&gt;</code> (Tag akhir)</li>
<li><code>&lt;line-break /&gt;</code> (Tag elemen kosong)</li>
</ul>
</li>
<li><strong>Elemen</strong>: Komponen logik yang ditakrifkan oleh tag.
<ul>
<li>Contoh: <code>&lt;greeting&gt;Hello, world!&lt;/greeting&gt;</code></li>
</ul>
</li>
</ul>
<h3 id="atribut"><strong>Atribut</strong></h3>
<p>Atribut menyediakan <strong>metadata</strong> untuk elemen menggunakan pasangan nama-nilai. Contoh:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;img src=&#34;image.jpg&#34; alt=&#34;Description&#34; /&gt;
</span></span></code></pre></div><p><code>src=&quot;image.jpg&quot;</code> dan <code>alt=&quot;Description&quot;</code> adalah atribut bagi elemen <code>&lt;img&gt;</code>.</p>
<h2 id="3-aksara-dan-penyingkiran-dalam-xml"><strong>3. Aksara dan Penyingkiran dalam XML</strong></h2>
<h3 id="aksara-unicode-sah-dalam-xml"><strong>Aksara Unicode Sah dalam XML</strong></h3>
<p>Dokumen XML <strong>hanya membenarkan aksara Unicode tertentu</strong> untuk memastikan parsing yang betul.</p>
<h4 id="aksara-yang-dibenarkan-dalam-xml-10"><strong>Aksara yang Dibenarkan dalam XML 1.0:</strong></h4>
<ul>
<li><strong>Aksara kawalan:</strong>
<ul>
<li><code>U+0009</code> (Tab)</li>
<li><code>U+000A</code> (Baris Baru)</li>
<li><code>U+000D</code> (Kembalian Kereta)</li>
</ul>
</li>
<li><strong>Aksara teks:</strong>
<ul>
<li><code>U+0020–U+D7FF</code></li>
<li><code>U+E000–U+FFFD</code></li>
<li><code>U+10000–U+10FFFF</code></li>
</ul>
</li>
</ul>
<h4 id="penambahbaikan-xml-11"><strong>Penambahbaikan XML 1.1:</strong></h4>
<ul>
<li>Membenarkan semua aksara kawalan <strong>U+0001–U+001F</strong> tetapi memerlukan mereka <strong>ditandakan</strong>.</li>
<li><strong>U+0000 (Aksara Null) tetap dilarang.</strong></li>
</ul>
<h2 id="4-pengekodan-dalam-xml"><strong>4. Pengekodan dalam XML</strong></h2>
<h3 id="pengekodan-xml-umum"><strong>Pengekodan XML Umum:</strong></h3>
<p>XML menyokong <strong>pengekodan berasaskan Unicode</strong>, termasuk:</p>
<ul>
<li><strong>UTF-8</strong> (Cadangan lalai)</li>
<li><strong>UTF-16</strong> (Mesti disokong oleh semua parser XML)</li>
<li><strong>ASCII, ISO-8859-X</strong> (Pengekodan warisan)</li>
</ul>
<h3 id="deklarasi-pengekodan-dalam-xml"><strong>Deklarasi Pengekodan dalam XML:</strong></h3>
<p>Header XML boleh menyatakan pengekodan:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
</span></span></code></pre></div><p>Jika tiada pengekodan dinyatakan, <strong>UTF-8 dianggap</strong>.<br>
<strong>UTF-16 memerlukan BOM (Byte Order Mark)</strong> untuk pengesanan yang betul.</p>
<h2 id="5-menyingkirkan-aksara-khas-dalam-xml"><strong>5. Menyingkirkan Aksara Khas dalam XML</strong></h2>
<p>Memandangkan sintaks XML <strong>menyimpan beberapa aksara</strong>, mereka <strong>mesti ditandakan</strong> untuk mengelakkan konflik.</p>
<h3 id="entiti-xml-pratentu"><strong>Entiti XML Pratentu:</strong></h3>
<table>
<thead>
<tr>
<th>Aksara</th>
<th>Bentuk Ditandakan</th>
<th>Contoh</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>&lt;</code> (Kurang daripada)</td>
<td><code>&amp;lt;</code></td>
<td><code>I &amp;lt;3 XML</code> → <strong>I &lt;3 XML</strong></td>
</tr>
<tr>
<td><code>&gt;</code> (Lebih daripada)</td>
<td><code>&amp;gt;</code></td>
<td><code>x &amp;gt; y</code> → <strong>x &gt; y</strong></td>
</tr>
<tr>
<td><code>&amp;</code> (Ampersand)</td>
<td><code>&amp;amp;</code></td>
<td><code>AT&amp;amp;T</code> → <strong>AT&amp;T</strong></td>
</tr>
<tr>
<td><code>'</code> (Petikan tunggal)</td>
<td><code>&amp;apos;</code></td>
<td><code>&quot;O&amp;apos;Reilly&quot;</code> → <strong>O&rsquo;Reilly</strong></td>
</tr>
<tr>
<td><code>&quot;</code> (Petikan berganda)</td>
<td><code>&amp;quot;</code></td>
<td><code>She said &amp;quot;hello&amp;quot;</code> → <strong>She said &ldquo;hello&rdquo;</strong></td>
</tr>
</tbody>
</table>
<h3 id="rujukan-aksara-numerik"><strong>Rujukan Aksara Numerik:</strong></h3>
<p>Untuk aksara khas yang <strong>tidak dapat ditaip</strong>, gunakan rujukan numerik:</p>
<ul>
<li><strong>Desimal:</strong>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&amp;#20013;  &lt;!-- Chinese character &#34;中&#34; --&gt;
</span></span></code></pre></div></li>
<li><strong>Heksadesimal:</strong>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&amp;#x4E2D;  &lt;!-- Chinese character &#34;中&#34; --&gt;
</span></span></code></pre></div></li>
<li><strong>Contoh:</strong>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;message&gt;I &amp;lt;3 J&amp;#xF6;rg&lt;/message&gt;
</span></span></code></pre></div><strong>Paparan:</strong> <em>I &lt;3 Jörg</em></li>
</ul>
<h3 id="pengendalian-data-binari"><strong>Pengendalian Data Binari:</strong></h3>
<p>XML <strong>tidak menyokong data binari mentah</strong>. Sebaliknya, gunakan <strong>pengekodan Base64</strong>.</p>
<h2 id="6-komen-dalam-xml"><strong>6. Komen dalam XML</strong></h2>
<h3 id="sintaks-komen-xml"><strong>Sintaks Komen XML:</strong></h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;!-- This is a valid XML comment --&gt;
</span></span></code></pre></div><h3 id="peraturan-untuk-komen-xml"><strong>Peraturan untuk Komen XML:</strong></h3>
<ul>
<li><strong>Tidak boleh muncul sebelum deklarasi XML.</strong></li>
<li><strong>Tidak boleh mengandungi <code>--</code> (dua tanda hubung) di dalam komen.</strong></li>
<li><strong>Rujukan entiti diabaikan dalam komen.</strong></li>
</ul>
<h3 id="contoh"><strong>Contoh:</strong></h3>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-txt" data-lang="txt"><span style="display:flex;"><span>&lt;!-- This is a comment with &lt; and &amp; symbols --&gt;
</span></span></code></pre></div><h2 id="kesimpulan"><strong>Kesimpulan</strong></h2>
<p>XML adalah teknologi penting untuk pertukaran data berstruktur, menyokong <strong>suapan web, dokumen pejabat, data saintifik, dan standard industri</strong>. Memahami <strong>terminologi utama XML, peraturan pengekodan, dan mekanisme penyingkiran</strong> memastikan dokumen XML yang berstruktur baik dan berfungsi dengan betul merentasi pelbagai sistem.</p>
<p>Dengan mengikuti amalan terbaik dalam <strong>pengekodan aksara dan penyingkiran</strong>, pembangun dapat <strong>mengelakkan ralat parsing dan memastikan keserasian</strong> dalam aplikasi berasaskan XML.</p>
]]></content:encoded>
    </item>
    
    <item>
      <title>Pengurai XML Terbaik untuk Python, Java, dan JavaScript (Dengan Contoh)</title>
      <link>https://blog.fileformat.com/ms/web/the-best-xml-parsers-for-python-java-and-javascript-with-examples/</link>
      <pubDate>Fri, 21 Mar 2025 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/ms/web/the-best-xml-parsers-for-python-java-and-javascript-with-examples/</guid>
      <description>Menguraikan XML dengan cekap adalah penting bagi pembangun yang bekerja dengan data berstruktur. Dalam artikel ini, kami akan mengkaji pengurai XML terbaik untuk Python, Java, dan JavaScript dengan contoh bagi setiap bahasa.</description>
      <content:encoded><![CDATA[<p><strong>Kemas Kini Terakhir</strong>: 25 Mac, 2025</p>
<figure class="align-center ">
    <img loading="lazy" src="images/xml-parsers-for-python-java-and-javascript.webp#center"
         alt="Tajuk - Pengurai XML Terbaik untuk Python, Java, dan JavaScript"/> 
</figure>

<p><a href="https://docs.fileformat.com/web/xml/">XML (Bahasa Penanda Boleh Kembang)</a> digunakan secara meluas untuk penyimpanan data, fail konfigurasi, dan perkhidmatan web. Menguraikan XML dengan cekap adalah penting bagi pembangun yang bekerja dengan data berstruktur. Dalam artikel ini, kami akan mengkaji <strong>pengurai XML terbaik untuk Python, Java, dan JavaScript</strong> dengan contoh bagi setiap bahasa.</p>
<p>Sebelum memilih pengurai, pastikan anda memahami <a href="https://blog.fileformat.com/web/what-is-xml-comprehensive-guide/">apa itu XML dan strukturnya</a>. Jika anda baru memulakan dengan XML, baca <a href="https://blog.fileformat.com/web/a-beginner-guide-to-reading-and-editing-xml-files/">panduan pemula untuk membaca dan mengedit fail XML</a>.</p>
<h2 id="1-penguraian-xml-dalam-python">1. Penguraian XML dalam Python</h2>
<h3 id="11-xmletreeelementtree-pustaka-bawaan">1.1 <code>xml.etree.ElementTree</code> (Pustaka Bawaan)</h3>
<p><code>xml.etree.ElementTree</code> ialah modul bawaan yang ringkas dan cekap untuk menguraikan XML.</p>
<p><strong>Contoh: Menguraikan Fail XML</strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/2a857976d766b09cca50480900958715.js?file=parsing-an-xml-file.py"></script>

<ul>
<li><strong>Kelebihan:</strong> Ringan dan mudah digunakan.</li>
<li><strong>Kekurangan:</strong> Terhad untuk struktur XML yang kompleks.</li>
</ul>
<h3 id="12-lxml-cepat--kaya-ciri">1.2 <code>lxml</code> (Cepat &amp; Kaya Ciri)</h3>
<p><a href="https://lxml.de/"><code>lxml</code></a> ialah pustaka berkuasa yang berasaskan pustaka C <strong>libxml2</strong>, menawarkan kelajuan dan sokongan XPath.</p>
<p><strong>Contoh: Menguraikan dengan <code>lxml</code></strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/f94ea870c5fa959a97f06944dfd55ab1.js?file=parsing-with-lxml.py"></script>

<ul>
<li><strong>Kelebihan:</strong> Lebih cepat daripada <code>ElementTree</code>, menyokong XPath.</li>
<li><strong>Kekurangan:</strong> Memerlukan pemasangan (<code>pip install lxml</code>).</li>
</ul>
<h3 id="13-beautifulsoup-terbaik-untuk-pengikisan-web">1.3 <code>BeautifulSoup</code> (Terbaik untuk Pengikisan Web)</h3>
<p><a href="https://pypi.org/project/beautifulsoup4/"><code>BeautifulSoup</code></a> kebanyakannya digunakan untuk <strong>menguraikan HTML</strong>, tetapi ia juga menyokong XML.</p>
<p><strong>Contoh: Menguraikan XML dengan <code>BeautifulSoup</code></strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/2cad25da9c51f2ade6e4a3b0a4d28373.js?file=parsing-xml-with-beautifulsoup.py"></script>

<ul>
<li><strong>Kelebihan:</strong> Mudah digunakan, bagus untuk pengikisan web.</li>
<li><strong>Kekurangan:</strong> Lebih perlahan daripada <code>lxml</code>.</li>
</ul>
<hr>
<h2 id="2-penguraian-xml-dalam-java">2. Penguraian XML dalam Java</h2>
<h3 id="21-pengurai-dom-membaca-seluruh-xml-dalam-memori">2.1 Pengurai DOM (Membaca Seluruh XML dalam Memori)</h3>
<p><strong>Pengurai DOM</strong> memuatkan seluruh pokok XML ke dalam memori, memudahkan navigasi tetapi tidak cekap untuk fail besar.</p>
<p><strong>Contoh: Menguraikan XML dengan DOM</strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/6e790eb4f3594c8f2f73b52099874cad.js?file=parsing-xml-with-dom.java"></script>

<ul>
<li><strong>Kelebihan:</strong> Ringkas, bagus untuk fail XML kecil.</li>
<li><strong>Kekurangan:</strong> Penggunaan memori tinggi.</li>
</ul>
<h3 id="22-pengurai-sax-berasaskan-acara--efisien-memori">2.2 Pengurai SAX (Berasaskan Acara &amp; Efisien Memori)</h3>
<p><strong>Pengurai SAX</strong> membaca XML secara berurutan, menjadikannya sesuai untuk fail besar.</p>
<p><strong>Contoh: Menguraikan XML dengan SAX</strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/6ebfdd79bc49b09220a35f4424791803.js?file=parsing-xml-with-sax.java"></script>

<ul>
<li><strong>Kelebihan:</strong> Lebih cepat dan penggunaan memori rendah.</li>
<li><strong>Kekurangan:</strong> Lebih sukar untuk dinavigasi berbanding DOM.</li>
</ul>
<hr>
<h2 id="3-penguraian-xml-dalam-javascript">3. Penguraian XML dalam JavaScript</h2>
<h3 id="31-menggunakan-domparser-penguraian-sisi-klien">3.1 Menggunakan <code>DOMParser</code> (Penguraian Sisi Klien)</h3>
<p><code>DOMParser</code> menukar rentetan XML menjadi objek DOM untuk manipulasi yang mudah.</p>
<p><strong>Contoh: Menguraikan XML dengan <code>DOMParser</code></strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/45d169e5188e5f87ea4a13a44522de86.js?file=xml-parsin-in-javascript-using-domparser.js"></script>

<ul>
<li><strong>Kelebihan:</strong> Mudah digunakan untuk penguraian XML berasaskan pelayar.</li>
<li><strong>Kekurangan:</strong> Terhad kepada JavaScript sisi klien.</li>
</ul>
<h3 id="32-mendapatkan-xml-dari-pelayan">3.2 Mendapatkan XML dari Pelayan</h3>
<p><strong>Contoh: Menggunakan <code>fetch()</code> untuk Memuat XML</strong></p>
<script type="application/javascript" src="https://gist.github.com/fileformat-blog-gists/01711b849b73b1ec31a40ab7a6d29530.js?file=fetching-xml-from-a-server.js"></script>

<ul>
<li><strong>Kelebihan:</strong> Berfungsi untuk kandungan XML dinamik.</li>
<li><strong>Kekurangan:</strong> Memerlukan pelayan.</li>
</ul>
<hr>
<p>Setelah anda memilih pengurai, laksanakan ia menggunakan panduan kami tentang <a href="https://blog.fileformat.com/programming/how-to-read-and-edit-xml-files-in-python-java-and-javascript/">cara membaca dan mengedit fail XML dalam Python, Java, dan JavaScript</a>.</p>
<h2 id="kesimpulan-memilih-pengurai-xml-yang-tepat">Kesimpulan: Memilih Pengurai XML yang Tepat</h2>
<table>
<thead>
<tr>
<th>Bahasa</th>
<th>Pengurai Terbaik</th>
<th>Kes Penggunaan</th>
</tr>
</thead>
<tbody>
<tr>
<td>Python</td>
<td><code>ElementTree</code></td>
<td>Penguraian XML Ringkas</td>
</tr>
<tr>
<td>Python</td>
<td><code>lxml</code></td>
<td>Cepat, menyokong XPath</td>
</tr>
<tr>
<td>Java</td>
<td>Pengurai DOM</td>
<td>Fail XML Kecil</td>
</tr>
<tr>
<td>Java</td>
<td>Pengurai SAX</td>
<td>Fail XML Besar</td>
</tr>
<tr>
<td>JavaScript</td>
<td><code>DOMParser</code></td>
<td>Pengendalian XML berasaskan pelayar</td>
</tr>
</tbody>
</table>
<p>Setiap pengurai mempunyai kelebihan masing‑masing bergantung pada kes penggunaan anda. Jika anda bekerja dengan <strong>fail XML kecil</strong>, <code>ElementTree</code> atau <strong>DOM</strong> sangat sesuai. Untuk <strong>fail besar</strong>, gunakan <strong>SAX atau lxml</strong>. Dalam <strong>JavaScript</strong>, <code>DOMParser</code> adalah pilihan terbaik untuk pemprosesan XML dalam pelayar.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
