• 操作XML的XmlDeclaration


    在数据库中使用openxml操作时,当xml字符串中含有中文时,结果sql对xml解析报错,xml内容如下:

    <?xml version="1.0"?>
    <order>
      <country>中国</country>
      <province>北京</province>
      <city>海淀区</city>
      <address>北京北京别急</address>
      <postalCode>100086</postalCode>
      <telephone>13811153770(62192343)</telephone>
      <email />
    </order>

    在把声明部分修改为<?xml version="1.0" encoding="gb2312" ?>后正常解析。

    但由于xml的数据是从一个传入的字符串中加载来的,这个数据可能带头也可能会出现不带头的情况,在参考相关的资料后,通过如下的代码实现自己的需求。

    XmlDocument xdoc = new XmlDocument();
    xdoc.LoadXml(strXml);

    if (xdoc.FirstChild.NodeType == XmlNodeType.XmlDeclaration)
    {
        XmlDeclaration xmldecl 
    = xdoc.FirstChild as XmlDeclaration;
        xmldecl.Encoding 
    = "gb2312";
    }

    else
    {
        XmlDeclaration xmldecl 
    = xdoc.CreateXmlDeclaration("1.0""gb2312"null);
        xdoc.InsertBefore(xmldecl, xdoc.DocumentElement);
    }
  • 相关阅读:
    MFC加载图片
    动态数组类
    MFC程序打包方法
    如何在C++中使用动态三维数组
    Ansys热应力计算
    像使用数据库一样使用xml
    过年回家的一点感想
    前后端框架和设计模式
    国外支付PayPal
    可重用的管理后台代码
  • 原文地址:https://www.cnblogs.com/mincyw/p/1312041.html
Copyright © 2020-2023  润新知