【XML码农】如何一次满足三个XML接收格式


<?xml version='1.0' encoding='GBK'?>
<FP>
  <FPXX>
    <FPXXMX>
      <fpdm>115061426954</fpdm>
      <fphm>00002757</fphm>
      <saveCode>01</saveCode>
      <saveMessage>节点【HYFL】的值填写不对,请参照福建自营业系统文档说明</saveMessage>
    </FPXXMX>
    <returnCode>00</returnCode>
    <returnMessage>
      <cgfs>0</cgfs>
      <sbfs>1</sbfs>
      <yczfs>0</yczfs>
    </returnMessage>
  </FPXX>
</FP>

<?xml version='1.0' encoding='GBK'?>
<FP>
   <FPXX>
      <fpdm>133010810135</fpdm>
      <fphm>90067001</fphm>
      <saveCode>00</saveCode>
      <saveMessage>保存成功</saveMessage>
   </FPXX>
</FP>

<?xml version="1.0" encoding="GBK"?>
<FP>
  <FPXX>
    <returnCode>01</returnCode>
    <returnMessage>Error on line 2 of document : The XML declaration may only appear at the very beginning of the document. Nested exception: The XML declaration may only appear at the very beginning of the document.</returnMessage>
  </FPXX>
</FP>

先来个原理简示,有空再补个分解式的类

foreach (XmlElement birthday in dom.DocumentElement.ChildNodes)
            {
                //读取数据 
                if (birthday.SelectSingleNode("fpdm") != null)
                    fpdm = birthday.SelectSingleNode("fpdm").InnerText;
                else if (birthday.SelectSingleNode("FPXXMX/fpdm") != null)
                    fpdm = birthday.SelectSingleNode("FPXXMX/fpdm").InnerText;

                //读取数据 
                if (birthday.SelectSingleNode("fphm") != null)
                    fphm = birthday.SelectSingleNode("fphm").InnerText;
                else if (birthday.SelectSingleNode("FPXXMX/fphm") != null)
                    fphm = birthday.SelectSingleNode("FPXXMX/fphm").InnerText;

                //读取数据 
                if (birthday.SelectSingleNode("saveCode") != null)
                    saveCode = birthday.SelectSingleNode("saveCode").InnerText;
                else if (birthday.SelectSingleNode("FPXXMX/saveCode") != null)
                    saveCode = birthday.SelectSingleNode("FPXXMX/saveCode").InnerText;

                //读取数据 
                if (birthday.SelectSingleNode("saveMessage") != null)
                    saveMessage = birthday.SelectSingleNode("saveMessage").InnerText;
                else if (birthday.SelectSingleNode("FPXXMX/saveMessage") != null)
                    saveMessage = birthday.SelectSingleNode("FPXXMX/saveMessage").InnerText;



                if (birthday.SelectSingleNode("returnCode") != null)
                    returnCode = birthday.SelectSingleNode("returnCode").InnerText;

                if (birthday.SelectSingleNode("returnMessage") != null)
                    returnMessage = birthday.SelectSingleNode("returnMessage").InnerText;

            }












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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值