2012-07-11 66 views
2

我寫了下面的代碼來提取一些查詢並將結果轉換爲XML文件。奇怪的結果來自C#的DataSet WriteXML轉換

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:空間=」保存」來自任何想法

<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

你可以發佈一些關於你正在使用的模式的更多信息嗎? – keith 2012-07-11 04:59:58

+0

我已添加更多信息。請看一看。 – Sam 2012-07-11 05:20:44

回答

0

xml:space="preserve"意味着解析器應該在標籤內保留任何空格。它在空白未標準化時產生。 (空格僅爲空格,不以空格開始或結尾,並且不包含兩個或更多空格)

_x0000_後綴來自XmlConvert.EncodeLocalName()。這意味着它找到了一個在XML中無效的字符。在這種情況下,它是一個空字符。不過,我不知道這個空字符來自哪裏。