首页 > 编程语言 > 详细

json.net xml转换为json格式时,如何将指定节点转换成数组

时间:2014-11-28 18:02:57      阅读:327      评论:0      收藏:0      [点我收藏+]
 using System.Xml.Linq;
 using Newtonsoft.Json;
 
 Response.ContentType = "application/json";
 XDocument xdoc = XDocument.Load(path);
 Response.Write(JsonConvert.SerializeXNode(xdoc));

xml 片段 :

<specialty nameCN="电测">
        <step>
            <signer staffID="800706" nameCN=""><![CDATA[]]></signer>
        </step>
        <step>
            <signer staffID="090477" nameCN=""><![CDATA[]]></signer>
        </step>
    </specialty>
    <specialty nameCN="节能">
        <step>
            <signer staffID="800608" nameCN=""><![CDATA[]]></signer>
            <signer staffID="800808" nameCN=""><![CDATA[]]></signer>
        </step>
        <step>
            <signer staffID="800602" nameCN=""><![CDATA[]]></signer>
            <signer staffID="800803" nameCN=""><![CDATA[]]></signer>
        </step>
    </specialty>

 输出 json 结果:

{
  "@nameCN": "电测",
  "step": [
    {
      "signer": {
        "@staffID": "800706",
        "@nameCN": "",
        "#cdata-section": 
      }
    },
    {
      "signer": {
        "@staffID": "090477",
        "@nameCN": "",
        "#cdata-section": 
      }
    }
  ]
},
{
  "@nameCN": "节能",
  "step": [
    {
      "signer": [
        {
          "@staffID": "800608",
          "@nameCN": "",
          "#cdata-section": 
        },
        {
          "@staffID": "800808",
          "@nameCN": "",
          "#cdata-section": 
        }
      ]
    },
    {
      "signer": [
        {
          "@staffID": "800602",
          "@nameCN": "",
          "#cdata-section": 
        },
        {
          "@staffID": "800803",
          "@nameCN": "",
          "#cdata-section": 
        }
      ]
    }
  ]
}

上面的结果 用红色标记出来的就是差别,step下有多个signer节点时,输出结果signer是数组

只有1个signer节点 输出signer不是数组,如何在只有一个signer节点时也输出为数组

 

json.net xml转换为json格式时,如何将指定节点转换成数组

原文:http://www.cnblogs.com/dekevin/p/4128729.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!