2012-08-08 158 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