欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js處理xml文件方法示例詳解

 更新時間:2023年08月21日 11:58:46   作者:黑蘿卜不黑  
這篇文章主要為大家介紹了js處理xml文件方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

具體需求

最近遇到一個前端全權處理xml數(shù)據(jù)的需求,第一次處理這種問題有些愁人呀!經(jīng)過反復調研和技術論證終于解決了,這里做個小小記錄,分享給需要的小伙伴。

實現(xiàn)方法

前端讀取xml文件的數(shù)據(jù)后,根據(jù)某些規(guī)則做數(shù)據(jù)界面展示,用戶可進行輸入輸出操作,操作過后保存成xml數(shù)據(jù)格式的字符串。

使用XMLHttpRequest讀取本地xml文件

/**
* 獲取xml文件數(shù)據(jù)
* @param path 文件路徑
* @return DOM格式數(shù)據(jù)
*/
function loadXML(path) {
  let xmlhttp;
  if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
  } else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.open("GET",path,false);
  xmlhttp.send();
  return xmlhttp.responseXML;
}

使用XMLHttpRequest讀取xml文件

獲得字符串形式的xml

/**
* 獲取xml文件數(shù)據(jù)
* @param path 文件路徑
* @return 字符串格式數(shù)據(jù)
*/
function loadXMLDoc(path) {
  let xmlhttp;
  if (window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
  } else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.open("GET",path,false);
  xmlhttp.send();
  // xml的document
  const xmlDoc = xmlhttp.responseXML;
  // 轉為字符串形式的xml
  var str = new XMLSerializer().serializeToString(xmlDoc)
  return str;
}

通過以上兩個方法可以拿到xml文件中的數(shù)據(jù)DOM格式和字符串格式,這里親身實驗,DOM格式數(shù)據(jù)操作起來難度交大,需要寫的代碼比較復雜,所以這里選擇了處理字符串格式。

插件x2js

這里不得不提到一個特別棒的插件x2js,該庫提供 XML 到 JSON(JavaScript 對象)和反之亦然的 javascript 轉換功能。該庫非常小,沒有任何依賴關系。

// 導入插件
<script src="js/xml2json.js"></script>
let xmlStr= "<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>x2js</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
    </buildSpec>
    <natures>
    </natures>
</projectDescription>
"
// 將xml字符串數(shù)據(jù)轉成json格式
let data = x2js.xml_str2json(xmlStr)
// json格式轉成字符串
let str = x2js.json2xml_str(data)

加載xml數(shù)據(jù)轉成成json格式

  function loadXMLDoc(dname) {
        if (window.XMLHttpRequest) {
            xhttp=new XMLHttpRequest();
        }
        else {
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET",dname,false);
        xhttp.send();
        return xhttp.responseXML;
    }
    var xmlDoc = loadXMLDoc("test.xml");
    var x2js = new X2JS();
    var jsonObj = x2js.xml2json(xmlDoc);

通過操作json數(shù)據(jù),可以快速開發(fā)頁面布局,完成業(yè)務邏輯操作。完成數(shù)據(jù)操作后轉換成字符串格式。

以上就是js處理xml文件方法示例詳解的詳細內(nèi)容,更多關于js處理xml文件的資料請關注腳本之家其它相關文章!

相關文章

  • 微信小程序HTTP請求從0到1封裝

    微信小程序HTTP請求從0到1封裝

    這篇文章主要給大家介紹了關于微信小程序HTTP請求從0到1封裝的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用微信小程序具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-09-09
  • JavaScript簡單遍歷DOM對象所有屬性的實現(xiàn)方法

    JavaScript簡單遍歷DOM對象所有屬性的實現(xiàn)方法

    這篇文章主要介紹了JavaScript簡單遍歷DOM對象所有屬性的實現(xiàn)方法,涉及JavaScript針對頁面元素屬性操作的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • Javascript中的prototype與繼承

    Javascript中的prototype與繼承

    本文主要介紹了Javascript中的prototype與繼承,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 用js編寫留言板

    用js編寫留言板

    這篇文章主要為大家詳細介紹了用js編寫留言板,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • JS實現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼

    JS實現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼

    這篇文章主要介紹了JS實現(xiàn)無限級網(wǎng)頁折疊菜單(類似樹形菜單)效果代碼,涉及JavaScript基于鼠標事件實現(xiàn)針對頁面元素結點的遍歷及樣式操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • javascript 關鍵字高亮顯示實現(xiàn)代碼

    javascript 關鍵字高亮顯示實現(xiàn)代碼

    屏蔽HTML標簽,支持多關鍵字(以空格間隔),關鍵字內(nèi)可含有特殊字符
    2010-09-09
  • JavaScript之Array常見的方法詳解

    JavaScript之Array常見的方法詳解

    這篇文章主要為大家介紹了JavaScript之Array常見的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助V
    2021-11-11
  • JavaScript實現(xiàn)DOM對象選擇器

    JavaScript實現(xiàn)DOM對象選擇器

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)DOM對象選擇器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • BootStrap數(shù)據(jù)表格實例代碼

    BootStrap數(shù)據(jù)表格實例代碼

    本文通過實例代碼給大家分享了BootStrap數(shù)據(jù)表格的相關知識,感興趣的朋友一起看看吧
    2017-09-09
  • 關于JavaScript命名空間的一些心得

    關于JavaScript命名空間的一些心得

    這篇文章主要介紹了關于JavaScript命名空間的一些心得,分別給出了頂級、多級命名空間的例子,需要的朋友可以參考下
    2014-06-06

最新評論