2

我编写了以下代码来提取一些查询并将结果转换为 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 =“preserve”来自哪里。有什么想法吗?

<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>

谢谢

4

1 回答 1

0

xml:space="preserve"意味着解析器应该在标签内保留任何空白。当空白未标准化时,它会生成此信息。(空白只是空格,不以空格开头或结尾,并且不包含连续的两个或多个空格。)

_x0000_后缀来自XmlConvert.EncodeLocalName(). 这意味着它发现了一个在 XML 中无效的字符。在这种情况下,它是一个空字符。不过,我不知道这个空字符是从哪里来的。

于 2012-07-11T10:38:01.960 回答