1. 程式人生 > >JS實現xml和json(也可看做物件)互轉

JS實現xml和json(也可看做物件)互轉

最近有個前端的需求: 解析後臺xml, 並新增刪除和修改, 然後傳給後臺, 思來想去, 最簡單的辦法就是利用xml和物件互轉, 即從後臺讀取xml傳到前臺並形成表格(已有程式碼,或者用物件生成表格), 前臺可編輯表格(包括新增,刪除),提交時將表格資料存入物件中, 轉為json, 再轉為xml,最後以字串形式傳給後臺寫入檔案.

邏輯圖:

Created with Raphaël 2.1.0後臺後臺前臺前臺xml->表格表格->物件->xml->字串

程式碼:

<!-- 思路:xml轉成表格,操作表格,然後再將表格內容收進物件裡,物件轉為json再轉xml傳給後臺 -->
<html> <body> <script type="text/javascript"> var xml = "<root><first>123</first><second><error>Nothing</error><haha>Something</haha></second></root>"; var parseXMLJSON = { parse2json: function(xmlStr){ var root = document.createElement('XMLROOT'
); root.innerHTML = xmlStr; return this.parse(root); } , parse: function(node){ var result = {}; for(var i = 0 ; i < node.childNodes.length ; ++i){ if(node.childNodes[i].nodeType==1){ result[node.childNodes[i].nodeName.toLowerCase()] = this
.parse(node.childNodes[i]); }else if(node.childNodes[i].nodeType==3){ return node.childNodes[i].nodeValue; } } return result; } , parse2xml: function(data){ var xmldata = ''; for(var i in data){ xmldata+= '<'+i+'>'; if(typeof data[i]=='object'){ xmldata+= this.parse2xml(data[i]); }else{ xmldata+= data[i]; } xmldata+= '</'+i+'>'; } return xmldata; } }; var jsonData = parseXMLJSON.parse2json(xml); var xmlData = parseXMLJSON.parse2xml(jsonData); alert('xml to json: ' + JSON.stringify(jsonData)); alert('json to xml: ' + xmlData);
</script> </body> </html>

相關推薦

JS實現xmljson(看做物件)

最近有個前端的需求: 解析後臺xml, 並新增刪除和修改, 然後傳給後臺, 思來想去, 最簡單的辦法就是利用xml和物件互轉, 即從後臺讀取xml傳到前臺並形成表格(已有程式碼,或者用物件生成表格), 前臺可編輯表格(包括新增,刪除),提交時將表格資料存入物件中

實現xmljson格式資料——單例模式的Db類(第二篇)

       上一篇只是實現了xml和json格式資料的類的封裝,不過它是沒有資料的來源的;因此,本篇文章是封裝一個呼叫資料庫資料的方法,視訊裡面用的是mysql_connect()等函式,不過現在用這些函式會出現notice,因為這些函式已經過時了,將來可能不會再用到;其實

jaxb實現xml json 之間的轉換

jaxb2 實體類轉xml: public static String toXML(Object obj, String encode, boolean format, boolean fragm

Json字串與java物件

到Json的官網上http://json-lib.sourceforge.net/,下載jar包。在官網也可以看到,使用Json還需要其他的一些jar包,官網上是這樣列的: jakarta commons-lang 2.5 jakarta commons-bea

JSON解析類庫之Fastjson(1) --- Fastjson類庫學習, 生成與解析json資料,json字串與Java物件

JSON解析類庫之Fastjson(1) --- Fastjson基礎知識、簡單JavaBean與複雜Bean物件與JSON互轉 -- Fastjson類庫學習, 生成與解析json資料,json

XStream實現xmljava物件之間的互相轉換(包括對屬性,別名,下劃線_的處理),同理JSON可以

首先去官網下載響應JAR包 最少需要兩個jar包,一個xstream.jar,一個是xmlpull.jar 首先來看下java物件到xml的轉換 package xml; class PhoneNumber { private int code;

C/C++使用libcurl庫發送http請求(getpost可以用於請求html信息,可以請求xmljson等串)

網絡連接 get 編譯 eas views vs2015 return tar linux C++要實現http網絡連接,需要借助第三方庫,libcurl使用起來還是很方便的 環境:win32 + vs2015 如果要在Linux下使用,基本同理 1,下載

xmlJSON相互轉換的Java實現

依賴的包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar xom-1.2.1.jar commons-lang-2.1.jar commons-io-1.3.2.jar jaxen-1.1.jar 輸入xml檔案,輸出JSON物件 Java程式碼   pa

SpringBoot RestController 同時支持返回xmljson格式數據

獲取json 需要 tid stc style pre cati 返回json provide @RestController 默認支持返回json格式數據,即使不做任何配置也能返回json數據 當接口需要支持xml或json兩種格式數據時應該怎麽做呢? 只要引入 Jack

Spring mvc 實現jsonpjson數據類型

需要 直接 per 類的方法 blog children 接口 pre 自己 在使用springmvc開發rest接口的時候很方便,可以直接使用@ResponseBody註解,直接加在springmvc的控制器類的方法上,springmvc會直接為我們將返回

c#中 xmljson 互相轉換

XML serialize AD -- ldo data nod load str --xml轉json XmlDocument doc = new XmlDocument(); doc.LoadXml(result); st

JAVA 實現XMLJSON 相互轉換

tst throws light getc con parent urn In 工作 原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,經常碰到XML轉為JSON或者JSON轉為XML,在這

HTML、XMLJSON學習匯總

web 文檔類型 first key 方法 min 兩個 第一步 實驗 1. HTML語言 2. XML語言 2.1 XML的特點 2.2 XML與HTML的主要差異: 2.3 XML允許自定義標簽 2.4 XML的解析 3. JSON語言 3.1 JSON的語法規則

使用json-org包實現POJOjson的轉換

div 轉換成 json 對象 ring 轉換 add nbsp -o 使用json-org包實現POJO和json的轉換 這個jar包把對象轉換成json超級舒服,所以順便記錄一下吧 把單個pojo對象轉換成json對象 Student student

js實現字型容器寬高隨視窗改變

  用於字型大小和容器的寬高字型和寬高設為rem就可以了 var html = document.documentElement;   function fonts(){   var hW = html.offsetWidth;     var&

js 實現佇列

js實現棧或者佇列有兩種方式: 1.陣列:陣列本身提供棧方法(push,pop),佇列方法(push,shift)。 程式碼實現(棧): /*=======棧結構=======*/ var stack=function(){ this.data=[] this.push=push

元件使用總結:使用 JAXB 實現 XML檔案java物件

JAXB JAXB:實現xml和java物件互轉 JAXB是一個業界的標準,實現XML檔案和Java物件的互轉。 JAXB是JDK 的組成部分。我們不需要下載第三方jar包 即可做到輕鬆轉換。 複製程式碼 重要類和介面: ○ JAXBContext類,是應用的入口,用於管理XML/Java繫結資訊。

XML json 解析比較

1. 定義 XML,即 extensible Markup Language ,是一種資料標記語言 & 傳輸格式 2. 作用 對資料進行標記(結構化資料)、儲存 & 傳輸 區別於 html :html用於顯示資訊;而 XML用於儲存&傳輸資訊

手把手教你使用Js實現前後臺傳送Json

無論使用什麼框架都存在著從controller向Html頁面或者jsp頁面傳遞資料的問題,最常用的方式是傳遞Json字串。以前對這塊知識有些模糊,現在整理一下。 【Jquery基本方法】 實現傳值常用的是Jquery以及內部封裝的ajax。首先看一下jquery的get()和pos

安卓客戶端開發:XMLJSON兩種資料交換格式的比較

最近想給網站做客戶端,因此在考慮到底是用xml還是Json的問題,剛好在網上讀到了這篇文章。 目前,在web開發領域,主要的資料交換格式有XML和JSON,對於XML相信每一個web  developer都不會感到陌生;相比之下,JSON可能對於一些新步入開發領