我编写了以下代码来提取一些查询并将结果转换为XML文件。
OdbcConnection conn = new OdbcConnection(args[0]);
OdbcDataAdapter da = new OdbcDataAdapter();
conn.Open();
da.SelectCommand = new OdbcCommand(args[1], conn);
DataSet ds = new DataSet();
da.Fill(ds);
ds.WriteXml("iDA.XML");
但是我得到以下内容并不完全是我想要数据的样子。我不知道每个元素的开头和结尾的“ x0000”来自哪里,或者“ xml:space =”保留“来自哪里。任何想法?
<so_bo_suffix_x0000_ xml:space="preserve"></so_bo_suffix_x0000_>
<so_processing_date_x0000_>2012-07-08T00:00:00+10:00</so_processing_date_x0000_>
不幸的是我无法提供更多的信息,但是,我可以告诉你关于上面几行,数据应该分别如下所示。这是来自运行相同查询的类似应用程序。
<so_bo_suffix> </so_bo_suffix>
<so_processing_date>17/04/2012 12:00:00 AM</so_processing_date><so_processing_date>17/04/2012 12:00:00 AM</so_processing_date>
由于
答案 0 :(得分:0)
xml:space="preserve"
表示解析器应该在标记内保留任何空格。当空格未规范化时,它会生成此值。 (空格只是空格,不是以空格开头或结尾,也不是按顺序包含两个或多个空格。)
_x0000_
后缀来自XmlConvert.EncodeLocalName()
。这意味着它找到了一个在XML中无效的字符。在这种情况下,它是一个空字符。不过,我不知道这个空字符的来源。