c# - 如何在使用 XmlSerializer 保留内容的同时更改根元素名称?

标签 c# .net xml xml-serialization

我有一个 XML 文档:

<data>
    <elmt1>Element 1</elmt1>
    <elmnt2>Element 2</elmnt2>
    <elmnt3>Element 3</elmnt3>
</data>

我需要反序列化为一个对象,该对象序列化为不同的根名称,而其他所有内容都保持不变。

例如:

<dataNew>
    <elmt1>Element 1</elmt1>
    <elmnt2>Element 2</elmnt2>
    <elmnt3>Element 3</elmnt3>
</dataNew>

序列化时,我们始终可以应用 XmlRootAttribute 序列化为不同的根名称,但我不确定如何反序列化为不同的 XmlRootAttribute。它一直在指向根属性的 error in document (1,2) 中失败。

我怎样才能做到这一点?

最佳答案

如果您只想更改根名称,您可以在声明 XmlSerializer 时指定根属性。

XmlSerializer xmlSerializer = new XmlSerializer(typeof(data), new XmlRootAttribute("dataNew"));

关于c# - 如何在使用 XmlSerializer 保留内容的同时更改根元素名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456620/

相关文章:

c# - 为什么 Environment.NewLine = "\r\n"而字符串文字中的 "\n"功能相同?

c# - BindAttribute 如何将数据库列绑定(bind)到程序中?

javascript - 是否可以改编以下 jQuery?

c# - 为什么会为异步/等待状态机生成 bool "flag"?

c# - 带有 xml、xsl 和 css 的 asp.net 简单报告框架

c# - 如何将字符串值转换为对象属性名称

Android布局: Stick one Layout to the top of the screen and place another Layout centred below

java - android XML View 在Eclipse中不显示ToggleButton

c# - 发送到 Java 套接字时 .Net 套接字阻塞

c# - 带有手动词法分析器的 ANTLR 解析器