.net - 在 .NET 中将任意字符串序列化为 XML

标签 .net xml-serialization

将任意字符串(到 XML 属性或 XML 节点)序列化为 XML 流以使 XML 保持有效(特殊字符、换行符等必须以某种方式编码)的最佳方法是什么。

最佳答案

我会简单地使用 DOM(例如 XmlDocumentXDocument),或者对于大文件,XmlWriter:

        XDocument xdoc = new XDocument(new XElement("xml", "a < b & c"));
        Console.WriteLine(xdoc.ToString());

        XmlDocument xmldoc = new XmlDocument();
        XmlElement root = xmldoc.CreateElement("xml");
        xmldoc.AppendChild(root).InnerText = "a < b & c";
        Console.WriteLine(xmldoc.OuterXml);

        StringBuilder sb = new StringBuilder();
        XmlWriterSettings settings = new XmlWriterSettings();
        settings.OmitXmlDeclaration = true;
        using (XmlWriter xw = XmlWriter.Create(sb, settings))
        {
            xw.WriteElementString("xml", "a < b & c");
        }
        Console.WriteLine(sb);

关于.net - 在 .NET 中将任意字符串序列化为 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/771388/

相关文章:

c# - 是否可以向序列化集合添加属性?

c# - 用于序列化的无参数构造函数与具有默认参数的构造函数相结合,为什么它有效?

.net - 存储 UTC,在 DataGridView 中显示本地时间(DataSource = DataTable)

c# - 如何在 C# 中使用查询来过滤实体?

python - lxml 增量 XML 序列化重复命名空间

c# - Windows Phone C# 中的 XML 反序列化

.net - 如何安全访问 DataGridView 列名?

c# - 如何从 C#.NET 代码生成 JS

c# - 当另一个对话框在顶部时禁用 "Close"按钮

c# - XmlSerialize 具有属性的自定义集合