XML转JSON的坑

5 篇文章 0 订阅
5 篇文章 0 订阅

从Webservice获取到的xml转换为JSON时会出错!发现是记录为一条的时候会报错。

1.这是正确转换的xml内容

 2.这是转换错误的xml的内容

3.以上的区别就是List是不是数组(注意有无[ ])。为了简化代码,决定默认克隆第一条记录。这样可以保证最少有两条记录。只是在操作数据的时候,把重复的数据处理掉就行了。

如果有更好的方法请告诉我,谢谢

 下面是克隆node节点的代码 


                var result = response2.Body.payload;

                XmlDocument xml = new XmlDocument();
                xml.LoadXml(result);
                XmlNode root1 = xml.SelectSingleNode("message");
                XmlNode root = root1.SelectSingleNode("Data");

               //由于节点中只有一条记录转换JSON不是数组会出错。所以默认克隆第一个节点。有两条记录转换JSON就正常了 code by easyboot 2022-02-12
                if (root.FirstChild != null)
                {
                    XmlNode oldNode = root.FirstChild;
                    XmlNode newNode = oldNode.CloneNode(true);
                    root.AppendChild(newNode);
                }

                string json = JsonConvert.SerializeXmlNode(root);

                Debug.WriteLine(json.Length);
                Debug.WriteLine(json);
                jdp = JsonConvert.DeserializeObject<JSONDataPatient>(json);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值