-1

我是 jqgrid 的新手,需要加载 xml 数据并在浏览器上显示。我有如下对象

          Object
           id
           xmldata
           attribute1
           attribute2
           attribute3
           attribute4

我的网页中有 json 作为

        jq("#grid").jqGrid({
        url:'/url',
        datatype: 'json',
        mtype: 'GET',
        colNames:['Id', 'xml data', 'attribute1', 'attribute2', 'attribute3', 'attribute4'],
        colModel:[
            {name:'id',index:'id', width:55,editable:false,editoptions:{readonly:true,size:10},hidden:true},
            {name:'XMLData',index:'xmldata', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}},
            {name:'attribute1',index:'attribute1', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}},
            {name:'attribute2',index:'attribute2', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}},
            {name:'attribute3',index:'attribute3', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}},
            {name:'attribute4',index:'attribute4', width:100,editable:true, editrules:{required:true}, editoptions:{size:10}},

        ],

但 xmldata 属性未加载,页面上加载了其他数据。我知道请求正文是 json 类型而不是 xml。但我有混音器 json 和 xml 数据。如何获取使用 json 类型显示的 xml 数据。或者我们有任何警觉。我需要将 xml 属性显示为一列,一列位于另一列之下。

谢谢

4

1 回答 1

0

可以使用不同的方法。但他们处理数据预处理。


1. org.json 命名空间中 的XML 类为您提供了此功能。

您必须调用静态toJSONObject方法:

将格式正确(但不一定有效)的 XML 字符串转换为 JSONObject。由于 JSON 是一种数据格式,而 XML 是一种文档格式,因此在此转换中可能会丢失一些信息。XML 使用元素、属性和内容文本,而 JSON 使用名称/值对和值数组的无序集合。JSON 不喜欢区分元素和属性。相似元素的序列表示为 JSONArray。内容文本可以放置在“内容”成员中。注释、序言、DTD 和被忽略。

这会将 xml 转换为 JSON。接下来,可以将此数据附加到对象并根据需要使用。

2.你可以做的另一种方法是在 jQuery 中使用 function xml2json(xml,tab)。有关更多说明,您可以移至此链接。这可以在您的customformatterfor 列中使用。

于 2013-04-02T04:12:12.503 回答