首頁 > web前端 > js教程 > 如何使用 DOM 解析 JavaScript 中的 XML 資料?

如何使用 DOM 解析 JavaScript 中的 XML 資料?

Barbara Streisand
發布: 2024-12-09 01:01:10
原創
1040 人瀏覽過

How Can I Parse XML Data in JavaScript Using the DOM?

使用JavaScript 解析XML:綜合解決方案

要在JavaScript 中解析XML 數據,您可以利用DOM(文檔對像模型),而無需外部庫。

解析來自String

如果XML 儲存在名為txt 的變數中,您可以使用DOMParser 解析它:

if (window.DOMParser) {
  parser = new DOMParser();
  xmlDoc = parser.parseFromString(txt, "text/xml");
} else {
  xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async = false;
  xmlDoc.loadXML(txt);
}
登入後複製

從節點擷取特定值

解析XML之後,您可以從節點:
// Get house address number
streetNumber = xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue;

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

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

使用命名空間前綴處理XML

如果XML 包含命名空間前綴,則在請求節點時應使用命名空間請求節點時應使用命名空間請求節點URI:
console.log(xmlDoc.getElementsByTagName("streetNumber")[0].childNodes[0].nodeValue); // Gets "streetNumber" without the 'sn' prefix

console.log(xmlDoc.getElementsByTagNameNS("example.com/postal", "postalcode")[0].childNodes[0].nodeValue); // Gets postal code with 'p' namespace prefix
登入後複製

以上是如何使用 DOM 解析 JavaScript 中的 XML 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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