xml-DataTable转XML奇怪字符

问题描述

DataTable转XML奇怪字符

DataTable转XML奇怪字符.
自己拼接的DataTable,转换为XML后没问题。但是插入Oracle之后就出现中文的问号。
非常郁闷。
今天终于解决了。

 private string ConvertDataTableToXML(DataTable xmlDS)
        {
            MemoryStream ms = null;
            XmlTextWriter XmlWt = null;
            try
            {
                ms = new MemoryStream();
                //根据ms实例化XmlWt
                XmlWt = new XmlTextWriter(ms, Encoding.UTF8);
                //获取ds中的数据
                xmlDS.WriteXml(XmlWt);

                int count = (int)ms.Length;
                byte[] temp = new byte[count];

                ms.Seek(0, SeekOrigin.Begin);
                ms.Read( temp, 0, count);
                //返回UTF-8编码的文本
                UTF8Encoding ucode = new UTF8Encoding();
                string returnValue = ucode.GetString(temp).Trim();
                return returnValue;
            }
            catch (Exception)
            {
                return "";
            }
            finally
            {
                //释放资源
                if (XmlWt != null)
                {
                    XmlWt.Close();
                    ms.Close();
                    ms.Dispose();
                }
            }
        }

这里是有问题的代码。

我发现在XML前面有一个奇怪字符。所以将数据流从第三个字符开始取,就没问题了。
代码中改为:
ms.Seek(3, SeekOrigin.Begin);

解决!

解决方案

xml转datatable

时间: 2024-09-17 04:54:08

xml-DataTable转XML奇怪字符的相关文章

DataTable转XML奇怪字符

问题描述 DataTable转XML奇怪字符.自己拼接的DataTable,转换为XML后没问题.但是插入Oracle之后就出现中文的问号.非常郁闷.今天终于解决了.privatestringConvertDataTableToXML(DataTablexmlDS){MemoryStreamms=null;XmlTextWriterXmlWt=null;try{ms=newMemoryStream();//根据ms实例化XmlWtXmlWt=newXmlTextWriter(ms,Encodin

DataTable和Xml互相转化

需求 Sql表查询得到的DataTable要转化成XML,就顺便写个测试的例子, 实现的功能 利用反射实现了DataTable,实体对象,XML的互转. 达到的效果 Git代码:https://git.oschina.net/dingxiaowei/XMLConvertor.git 在线查看代码:https://git.oschina.net/dingxiaowei/XMLConvertor#git-readme Code: sql if exists (select * from sysobj

Thinking XML:创建XML的好建议

XML的使用越来越广泛,但是很多XML的结构并不好.即便结构良好,也常常设计得很糟,使得处理和维护非常困难.而大部分用于XML的基础结构使问题更加恶化.于是出现了关于XML最佳实践的公开讨论,比如Henri Sivonen 的文章"HOWTO Avoid Being Called a Bozo When Producing XML".Uche Ogbuji经常在IBM developerWorks上讨论XML最佳实践,这里他提出了在这些文章中讨论的要点. 几年来我一直在本专栏和其他系列

XML字符串和XML DOCUMENT的相互转换

xml|转换|字符串     在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化的XML Document.这就涉及到XML字符串和Xml Document的转换问题,说白了这是个很简单的问题,本文就各种XML解析器分别列举如下,以方便自己今后查阅. 一.使用最原始的javax.xml.parsers,标准的jdk api // 字符串转XMLString xmlStr = \"......\";StringReader sr = new StringReader(

使用XML DOM生成XML(1)

dom|xml|生成xml  <--编者按:随着 XML 在网络开发中的应用的不断深入,该语言的复杂度在增加,你可以在本文对XML的新对象库XML DOM的介绍中体会到这一点-->      正如你所了解的,XML是个功能强大的新型数据结构,它可以让你把网页的内容和表现形式分开.尽管如此,目前,我们的文章大多仅介绍了直接生成XML标记得的法.我们在大多数时候,都是手工编写必需的标记和数据的.      幸运的是,微软提供了XML DOM(XML文档对象模型),这是另外一种编写XML代码的方法.

php操作xml入门之xml基本介绍及xml标签元素

 以xml实例来讲解: 代码如下: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <class> <student> <name>小乔</name> <sex>女</sex> <age>23</age> </student> <student> <

[SQLXML]FOR XML语法导出XML的易错之处

[SQLXML]FOR XML语法导出XML的易错之处 Version Date Creator Description 1.0.0.1 2006-6-29 郑昀@Ultrapower 草稿   继续阅读之前,我们假设您熟悉以下知识: n         MS SQL Server 2000 n         Sp_makewebtask n         FOR XML 子句 如果不熟悉这些知识点,可以看下面两小节[准备工作一:FOR XML]和[准备工作二:sp_makewebtask]

php操作xml入门之xml基本介绍及xml标签元素_php技巧

本文实例讲述了php操作xml入门之xml基本介绍及xml标签元素.分享给大家供大家参考.具体分析如下: 以xml实例来讲解: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8" standalone="no" ?> <class>  <student>   <name>小乔</name>   <sex>女</sex>

asp.net xml操作方法与xml操作类

程序生成XML文档 这种方式是用 C# 程序生成一个 XML 文件,并将数据放在其中来处理.下面是几种不同的方法实现了同样的目的. 用XmlWriter类编辑数据而实现的简单示例:  代码如下 复制代码 XmlTextWriter xtw = new XmlTextWriter(filePath, Encoding.UTF8); xtw.Formatting = Formatting.Indented; xtw.WriteStartDocument(true); xtw.WriteStartEl