xmlObjectifier 簡單地把 XML 內容轉化成 JSON 格式

by - 上午10:24

xmlObjectifier 資料轉換前後 A-Fu 網頁設計
xmlObjectifier 資料轉換前後
尋找一種簡單的方法把XML轉換為JSON對象嗎?xmlObjectifier的目的是協助工作與XML數據的編碼器,能夠快速,輕鬆地處理XML文件,使用熟悉的為JavaScript developpers方法的。這個有用的代碼將提供透明的腸梗阻層到這些應用程序使用JSON和XML數據,它也允許你緩存的數據,以備後用。 xmlObjectifier是寫在客戶端的JavaScript在各種瀏覽器,以減少處理開銷,並提供最佳的兼容性。

使用方法:
第一步 載入程式所需要的檔案
//使用Google ajax API 直接連結 jQuery 1.8.2的min版本
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
//載入 xmlObjectifier 的主程式碼
<script src="/scripts/jqXMLUtils.pack.js" type="text/javascript"></script>


第二步 準備一個XML的檔案,我們準備使用 AJAX 的方式來讀取命名為 simple.xml
<?xml version="1.0" encoding="utf-8"?>
  <root>
<node name="test">Test Value</node>
<node name="test2">
 <![CDATA[Test Value 2]]>
</node>
<group name="test3">
 <item name="Item 1" value="1"/>
 <item name="Item 2" value="2"/>
 <item name="Item 3" value="3"/>
</group>
  </root>


第三步 使用程式將XML資料轉換為JSON
var example = function() {
   $.ajax({
         type: "GET",
         url: "/simple.xml", //讀取 simple.xml
         dataType: "xml", //讓輸出的資料格式為XML
         complete: function(data) {
               var json = $.xmlToJSON(data.responseXML); //XML資料轉換為 JSON
               alert(json.node[1].Text); //取得某一個節點的文字
      }
   });
};
$(function() { //檔案讀取完成
$("#but").click(example); //使用按鈕按下的動作來做資料轉換
});


xmlObjectifier 可使用的轉換方法
方法 說明
xmlToJSON(xml,opt) xml 輸入XML格式的文件檔案或者文字
opt 說明
noComments 是否標註包含節點.預設為否
decorator 轉換完成調用此函式
返回一個 JSON Root 物件
textToXML(xmlstr) xmlstr 傳入XML的文字進入 回傳XML的物件回來

Root 可用方法
方法 說明
nodeName 使用下一節點名稱取得子節點
ns XML命名空間的前綴
typeOf 物件的種類
Text 輸出節點內的文字或 CDATA
hasCDATA 來源資料是否包含 CDATA
attr(name[,value]) name 節點的名稱,value 加入一個值
find(selector) 尋找子節點
appendChild(node) 增加一個子節點
addmComent(comment) 增加一段敘述
val([value]) 改變或取得內容值
toXML() 轉換為XML文件
toString() 轉換為XML格式的字串

最後介紹 NodeSet
方法 說明
getNoributedesByAt(attribute,value) 取得某一個節點
getNodesByValue(value) 取得某一個節點
contains(attribute,value) 是否又符合 value 值
indexOf(attribute,value) 第幾個節點與 value 符合
sortByAttribute(attribute, dir) 依照節點名稱排序 attribute 節點 dir 排序規則 asc,desc
sortByValue(dir) 依照內容排序 dir 排序規則 asc,desc
sortByChildNode(nodeName, dir) 子節點排序 nodeName 子節點名稱
dir 排序規則 asc,desc
first() 返回第一個節點的資料
last() 返回最後一個節點的資料

作者網站:http://www.terracoder.com/
檔案大小:16.5 KB
檔案下載:http://www.terracoder.com/scripts/jqXMLUtils.js
檔案備份:下載

You May Also Like

0 意見