首頁 > web前端 > js教程 > 如何在不使用外部函式庫的情況下用 JavaScript 解析 XML 資料?

如何在不使用外部函式庫的情況下用 JavaScript 解析 XML 資料?

Barbara Streisand
發布: 2024-12-01 01:53:12
原創
169 人瀏覽過

How Can I Parse XML Data in JavaScript Without Using External Libraries?

使用 JavaScript 解析 XML

解析 XML 涉及將 XML 資料轉換為 JavaScript 程式碼可以處理的格式。要在沒有 jQuery 等外部框架的情況下執行此操作,可以利用 DOM(文件物件模型)。

如果XML 儲存在名為txt 的字串變數中,其結構可能類似於以下內容:

<address>
  <street>Roble Ave</street>
  <mtfcc>S1400</mtfcc>
  <streetNumber>649</streetNumber>
  <lat>37.45127</lat>
  <lng>-122.18032</lng>
  <distance>0.04</distance>
  <postalcode>94025</postalcode>
  <placename>Menlo Park</placename>
  <adminCode2>081</adminCode2>
  <adminName2>San Mateo</adminName2>
  <adminCode1>CA</adminCode1>
  <adminName1>California</adminName1>
  <countryCode>US</countryCode>
</address>
登入後複製

要解析此XML,請依照下列步驟操作:

// Create a new DOM parser
var parser = new DOMParser();

// Parse the XML string into a DOM object
var xmlDoc = parser.parseFromString(txt, "text/xml");
登入後複製

有了可用的DOM 對象,就可以存取特定的XML元素及其檢索到的值:

// Get the street number
var streetNumber = xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;

// Get the street name
var street = xmlDoc.getElementsByTagName("street")[0].childNodes[0].nodeValue;

// Get the postal code
var postalcode = xmlDoc.getElementsByTagName("postalcode")[0].childNodes[0].nodeValue;
登入後複製

帶有命名空間前綴的 XML 也可以使用此方法進行解析,前提是瀏覽器支援命名空間前綴。 JavaScript 程式碼中無需前綴即可存取命名空間前綴。

以上是如何在不使用外部函式庫的情況下用 JavaScript 解析 XML 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板