fast-xml-parser 中文文檔

fast-xml-parser

說明

項目中需要解析一次xml文件, 但是從百度中獲取的一些解析方法似乎都有所缺陷, 并沒辦法很好的解析我需要解析的xml文件, 所以就上github里找到了這個插件具篇, 速度似乎是該插件的優(yōu)秀之處, 但是我選擇該插件的原因主要是它能解析我所需解析的文件

下邊是一些官方文檔的說明凌埂, 這個插件似乎用的人并不多驱显, 所以就記錄一下, 也順便給配置項都翻譯一下瞳抓, 我項目中如果有使用該配置的話就會加上我對應(yīng)的一些說明

在我的項目中埃疫, 主要是解析一個模板文件的xml結(jié)構(gòu), 所以對應(yīng)的是需要獲取屬性并且解析為JSON格式孩哑, 下方是我對應(yīng)的一個demo

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fast-xml-parser/3.12.16/parser.min.js"></script>
// 配置
var options = {
  attributeNamePrefix : "@_",
  ignoreAttributes: false,
};
// 使用
$.ajax({
  url: './1.tpl',
  success: res => {
    console.log(res);
    var jsonObj = parser.parse(res, options);
    console.log('json: ', jsonObj)
    document.write(JSON.stringify(jsonObj))
  }
})

使用

var jsonObj = parser.parse(xmlData [,options] );
var options = {
  attributeNamePrefix : "@_",
  attrNodeName: "attr", //default is 'false'
  textNodeName : "#text",
  ignoreAttributes : true,
  ignoreNameSpace : false,
  allowBooleanAttributes : false,
  parseNodeValue : true,
  parseAttributeValue : false,
  trimValues: true,
  cdataTagName: "__cdata", //default is 'false'
  cdataPositionChar: "\\c",
  localeRange: "", //To support non english character in tag/attribute values.
  parseTrueNumberOnly: false,
  attrValueProcessor: a => he.decode(a, {isAttributeValue: true}),//default is a=>a
  tagValueProcessor : a => he.decode(a) //default is a=>a
};

配置(OPTIONS)說明

OPTIONS

  • attributeNamePrefix: 提供預(yù)定的字符串作為屬性名稱前綴, 比如@_栓霜, 這時假設(shè)解析的屬性為name,那么在解析后的JSON中該屬性將會解析為@_name
  • attrNodeName: 將所有屬性分組為給定名稱的屬性横蜒, 取代原本的屬性名稱胳蛮, 修改為該名稱
  • ignoreAttributes: 忽略解析屬性, 配置該項的時候不會解析標簽內(nèi)的屬性丛晌, 默認為true
  • ignoreNameSpace: 從標記和屬性名稱中移除命名空間字符串
  • allowBooleanAttributes: 標記可以具有不帶任何值的屬性
  • parseNodeValue : 將屬性的值解析為float仅炊、integer或boolean
  • parseAttributeValue: 將屬性的值解析為float、integer或boolean
  • trimValues: 修剪屬性或節(jié)點的字符串值
  • decodeHTMLchar: This options has been removed from 3.3.4. Instead, use - tagValueProcessor, and attrValueProcessor. See above example.
  • cdataTagName: 如果指定澎蛛,解析器會將CDATA解析為嵌套標記抚垄,而不是將其值添加到父標記中
  • cdataPositionChar: 它將有助于將JSON轉(zhuǎn)換回XML,而不會失去CData的位置谋逻。
  • localeRange: 解析器將接受標記或?qū)傩悦械姆怯⑽淖址?/li>
  • parseTrueNumberOnly: 如果為真呆馁,則像“+123”或“0123”這樣的值不會被解析為數(shù)字。
  • tagValueProcessor: 轉(zhuǎn)換期間處理標記值斤贰。如HTML解碼智哀、單詞大寫等次询,僅適用于字符串荧恍。
  • attrValueProcessor: 轉(zhuǎn)換期間處理屬性值。如HTML解碼屯吊、單詞大寫等送巡,僅適用于字符串
  • stopNodes: 不需要解析的標記名數(shù)組。相反盒卸,它們的值被解析為字符串骗爆。

GitHub地址

https://github.com/NaturalIntelligence/fast-xml-parser

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蔽介,隨后出現(xiàn)的幾起案子摘投,更是在濱河造成了極大的恐慌煮寡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犀呼,死亡現(xiàn)場離奇詭異幸撕,居然都是意外死亡,警方通過查閱死者的電腦和手機外臂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門坐儿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宋光,你說我怎么就攤上這事貌矿。” “怎么了罪佳?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵逛漫,是天一觀的道長。 經(jīng)常有香客問我赘艳,道長尽楔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任第练,我火速辦了婚禮阔馋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘娇掏。我一直安慰自己呕寝,他們只是感情好,可當我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布婴梧。 她就那樣靜靜地躺著下梢,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塞蹭。 梳的紋絲不亂的頭發(fā)上孽江,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天,我揣著相機與錄音番电,去河邊找鬼岗屏。 笑死,一個胖子當著我的面吹牛漱办,可吹牛的內(nèi)容都是我干的这刷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼娩井,長吁一口氣:“原來是場噩夢啊……” “哼暇屋!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起洞辣,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤咐刨,失蹤者是張志新(化名)和其女友劉穎昙衅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體定鸟,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡绒尊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仔粥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婴谱。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖躯泰,靈堂內(nèi)的尸體忽然破棺而出谭羔,到底是詐尸還是另有隱情,我是刑警寧澤麦向,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布瘟裸,位于F島的核電站,受9級特大地震影響诵竭,放射性物質(zhì)發(fā)生泄漏话告。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一卵慰、第九天 我趴在偏房一處隱蔽的房頂上張望沙郭。 院中可真熱鬧,春花似錦裳朋、人聲如沸病线。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽送挑。三九已至,卻和暖如春暖眼,著一層夾襖步出監(jiān)牢的瞬間惕耕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工诫肠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留司澎,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓区赵,卻偏偏與公主長得像惭缰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子笼才,可洞房花燭夜當晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第3章 基本概念 3.1 語法 3.2 關(guān)鍵字和保留字 3.3 變量 3.4 數(shù)據(jù)類型 5種簡單數(shù)據(jù)類型:Unde...
    RickCole閱讀 5,124評論 0 21
  • XML 指可擴展標記語言。標記指計算機所能理解的信息符號络凿,通過此種標記骡送,計算機之間可以處理包含各種信息的文章等昂羡。 ...
    神齊閱讀 780評論 0 3
  • http://liuxing.info/2017/06/30/Spring%20AMQP%E4%B8%AD%E6%...
    sherlock_6981閱讀 15,910評論 2 11
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,100評論 1 32
  • xml經(jīng)典總結(jié) XML(eXtensible Markup Language)是萬維網(wǎng)聯(lián)盟(World Wide ...
    java日記閱讀 955評論 0 2