2012-08-08 124 views
1

我想將類對象序列化爲字符串。但它是從下面的代碼以xml的形式給出輸出。將xml轉換爲純字符串

Dim x As New Xml.Serialization.XmlSerializer(response.GetType) 
Dim sw As New IO.StringWriter() 
x.Serialize(sw, response) 
Return sw.ToString 

電流輸出

<Employees> 
<Employee>John</Employee> 
<Employee>Peter</Employee> 
</Employees> 

期望輸出

<Employees><Employee>John</Employee><Employee>Peter</Employee></Employees> 
+0

所以......你想要所有的輸出XML在1行?你爲什麼需要這個? – 2012-08-08 15:12:04

+1

我需要在單行中寫入日誌文件 – 2012-08-08 15:24:35

回答

1

響應文本不轉換成XML對象,把它作爲一個字符串。

從那裏this後應該是有啓發性的。一旦完成了所有的工作並存儲在一個變量中,就可以完成所有XML序列化你的心願。

+0

OP不會將XML解析爲文檔對象。示例代碼直接序列化爲XML字符串,然後將其作爲字符串返回。做一個簡單的替換字符串不會刪除爲XML縮進添加的空白。 – 2012-08-08 15:59:36

+0

我想我應該說明我是一個首先是Javascript的人。我認爲響應以字符串形式出現,並且x.Serialize正在解析它。 – 2012-08-08 20:22:18

6

您需要使用XmlTextWriter,以便您可以指定希望格式化XML輸出的方式。例如:

Dim x As New Xml.Serialization.XmlSerializer(response.GetType) 
Dim sw As New IO.StringWriter() 
Dim xw As New XmlTextWriter(sw) 
xw.Formatting = Formatting.None 
x.Serialize(xw, response) 
Return sw.ToString