相关疑难解决方法(0)

将C#类序列化为XML文本的更简单方法

在尝试回答另一个问题时,我将C#对象序列化为XML字符串.这真是令人惊讶的困难; 这是我能提出的最短的代码片段:

var yourList = new List<int>() { 1, 2, 3 };
var ms = new MemoryStream();
var xtw = new XmlTextWriter(ms, Encoding.UTF8);
var xs = new XmlSerializer(yourList.GetType());
xs.Serialize(xtw, yourList);
var encoding = new UTF8Encoding();
string xmlEncodedList = encoding.GetString(ms.GetBuffer());
Run Code Online (Sandbox Code Playgroud)

结果还可以:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfInt
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <int>1</int>
    <int>2</int>
    <int>3</int>
</ArrayOfInt>
Run Code Online (Sandbox Code Playgroud)

但是片段比我想象的要复杂得多.我无法相信你必须知道编码和MemoryStream这个简单的任务.

是否有更短的方法将对象序列化为XML字符串?

c# xml xml-serialization

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×1

xml ×1

xml-serialization ×1