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

nodejs解析xml文件方式(xml->json)

 更新時間:2024年08月29日 08:47:12   作者:slient_love  
這篇文章主要介紹了nodejs解析xml文件方式(xml->json),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

nodejs解析xml文件(xml->json)

nodejs解析xml文件的方式有很多

  • xml2j
  • xmlreader
  • xmldom+xpath
  • xmldoc
  • xml-js

可自行訪問官網(wǎng),里面有用法示例,在此不再進行贅述。

在開發(fā)中要解析的xml文件內(nèi)容

如下:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
   xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
   xmlns:rs='urn:schemas-microsoft-com:rowset'
   xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
 <s:ElementType name='row'>
   <s:AttributeType  name='grade'   rs:number='1'>
   <s:datatype   dt:type='varchar'   dt:maxLength='64'/>
   </s:AttributeType>
   <s:AttributeType   name='sex'   rs:number='8'>
   <s:datatype   dt:type='numeric'   dt:maxLength='22'/>
   </s:AttributeType>
 </s:ElementType>
</s:Schema>
<rs:data>
<z:row  grade='2' sex='男' />
</rs:data>
 </xml>

業(yè)務(wù)上需要獲取z:row 里面的屬性,即grade='2' sex='男',搞了一下午,使用xml2j,xmlreader…獲取到的數(shù)據(jù)都不是想要的結(jié)果,最后使用xml-js一下就成功了。

開心撒花~

代碼如下:

let filepath = 'H:\\workcode\\xml\\TCOMPANY.xml'

const fs = require('fs');
let convert = require('xml-js');
let xml = fs.readFileSync(filepath,'utf-8');
let result1 = convert.xml2json(xml, {compact: true, spaces: 4});
console.log(result1);

結(jié)果如下:

{
    "xml": {
        "_attributes": {
            "xmlns:s": "uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882",
            "xmlns:dt": "uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",
            "xmlns:rs": "urn:schemas-microsoft-com:rowset",
            "xmlns:z": "#RowsetSchema"
        },
        "s:Schema": {
            "_attributes": {
                "id": "RowsetSchema"
            },
            "s:ElementType": {
                "_attributes": {
                    "name": "row"
                },
                "s:AttributeType": [
                    {
                        "_attributes": {
                            "name": "grade",
                            "rs:number": "1"
                        },
                        "s:datatype": {
                            "_attributes": {
                                "dt:type": "varchar",
                                "dt:maxLength": "64"
                            }
                        }
                    },
                    {
                        "_attributes": {
                            "name": "sex",
                            "rs:number": "8"
                        },
                        "s:datatype": {
                            "_attributes": {
                                "dt:type": "numeric",
                                "dt:maxLength": "22"
                            }
                        }
                    }
                ]
            }
        },
        "rs:data": {
            "z:row": {
                "_attributes": {
                    "grade": "2",
                    "sex": "男"
                }
            }
        }
    }
}

成功啦!

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs編寫bash腳本的終極方案分享

    nodejs編寫bash腳本的終極方案分享

    你懂JavaScript嗎?你需要寫一個Shell腳本嗎?那么你應(yīng)該試一下Node.js,它很容易安裝,而且很適合通過寫Shell腳本來學(xué)習(xí)它,下面這篇文章主要給大家介紹了關(guān)于nodejs編寫bash腳本的終極方案,需要的朋友可以參考下
    2021-08-08
  • node.js安裝超詳細步驟教程(推薦!)

    node.js安裝超詳細步驟教程(推薦!)

    其實Node.js就是運行在服務(wù)端的JavaScript,Node.js是一個基于Chrome?JavaScript運行時建立的一個平臺,下面這篇文章主要給大家介紹了關(guān)于node.js安裝超詳細步驟教程的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • NodeJs操作MYSQL方法詳細介紹

    NodeJs操作MYSQL方法詳細介紹

    本章將了解如何在nodejs中操作Mysql,實際項目中不可能用workbench來進行增刪改查,而是用代碼操作,接下來我們講解一下如何在 nodejs中操作Mysql
    2022-08-08
  • node中的密碼安全(加密)

    node中的密碼安全(加密)

    這篇文章主要介紹了node中的密碼安全(加密),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Node.js+Socket.io實現(xiàn)雙人在線五子棋對戰(zhàn)

    Node.js+Socket.io實現(xiàn)雙人在線五子棋對戰(zhàn)

    這篇文章主要為大家詳細介紹了Node.js+Socket.io實現(xiàn)雙人在線五子棋對戰(zhàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 關(guān)于npm install過程失敗的幾種處理方式

    關(guān)于npm install過程失敗的幾種處理方式

    這篇文章主要介紹了關(guān)于npm install過程失敗的幾種處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • nodejs express搭建服務(wù)并熱更新文件過程詳解

    nodejs express搭建服務(wù)并熱更新文件過程詳解

    這篇文章主要為大家介紹了nodejs express搭建服務(wù)并熱更新文件過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 詳解node+express+ejs+bootstrap構(gòu)建項目

    詳解node+express+ejs+bootstrap構(gòu)建項目

    本篇文章主要介紹了詳解node+express+ejs+bootstrap構(gòu)建項目,非常具有實用價值,需要的朋友可以參考下
    2017-09-09
  • 詳解Nodejs mongoose

    詳解Nodejs mongoose

    Mongoose 是在nodejs環(huán)境下,對mongodb進行便捷操作的對象模型工具。本文介紹解(翻)密(譯)Mongoose插件。這篇文章給大家詳細介紹了Nodejs mongoose 的相關(guān)知識,感興趣的朋友一起看看吧
    2018-06-06
  • Node.js常用工具之util模塊

    Node.js常用工具之util模塊

    util是一個Node.js核心模塊,提供常用函數(shù)的集合,用于彌補JavaScript的功能的不足,util模塊設(shè)計的主要目的是為了滿足Node內(nèi)部API的需求。下面這篇文章將詳細的介紹關(guān)于Node.js常用工具之util模塊的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03

最新評論