- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 DocumentDataSet 的数据集和一个名为 Document 的类。
当数据集被序列化时,我需要将它的根命名为“Document”,因为我正在与第 3 方网络服务进行通信。
虽然我想在数据集的部分类中定义属性 XmlRoot
,但我无法添加 XmlRoot 的副本,因为它已经在设计器类中定义。
[global::System.Xml.Serialization.XmlRootAttribute("DocumentDataSet")]
public partial class DocumentDataSet : global::System.Data.DataSet { ... }
我可以在设计器类中更改它,但每次我在设计中打开数据集时它都会被重置。
有没有一种方法可以覆盖 XmlRoot
或使其使用与其类名不同的名称进行序列化?
最佳答案
您可以使用 XmlSerializer constructor接受 XmlRootAttribute
表示要使用的 XML 根元素。
new XmlSerializer(typeof(DocumentDataSet), new XmlRootAttribute("Document"));
也可以这样做:
class DocumentDataSet : DataSet
{
public new string GetXml()
{
return base.GetXml().Replace("DocumentDataSet ", "Document");
}
}
如果您最终采用这种方法,一个简单的 Replace
是不够的,但这只是为了说明目的。另请注意,如果您通过基类 DataSet
引用文档数据集实例,则后一种方法将不起作用。
DataSet ds = new DocumentDataSet();
ds.GetXml(); // Wrong
关于c# - 覆盖数据集设计器类中定义的 XmlRoot 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947213/
阅读下面的博客后,我整理了一个对象。 missing XMLRoot T objectToSerialize; JAXBElement je=new JAXBElement(new QName(“na
[XmlRoot("ConfigurationRoot")] public class XmlDBConfiguration { [XmlArray("Customers")] [Xm
我有一个名为 DocumentDataSet 的数据集和一个名为 Document 的类。 当数据集被序列化时,我需要将它的根命名为“Document”,因为我正在与第 3 方网络服务进行通信。 虽然
:我正在开发一个 .Net web api,我们有一个基类来处理来 self 们 api 的所有响应。此类将始终作为请求的根返回,其中包含用户在其中请求的任何数据。 因此用户将始终收到如下响应:
我需要将一个有效的 xml 字符串序列化为一个对象。问题是对象是其他对象的 2 个数组,我不知道以下注释是否正确: [XmlRoot("Data")] public class Data {
我正在尝试将自定义类序列化为 XML。这是类(class): [Serializable()] [XmlRoot("KVP")] public class SerializableKeyValuePa
我正在尝试弄清楚如何将以下类序列化为 XML(以特定方式,见下文): [XmlRoot("Farm")] public class Farm { [XmlArray] [XmlArra
有没有办法在运行时设置对象或类的 xmlroot? [XmlRoot("data")] public class MyRoot { [XmlElement("bar")] public
我有一个带有 class 属性的类: [XmlRoot(ElementName = "RootXML")] public class Apply { /My Properties } 现在从上
我有一堆从模式生成的类。我无法触及它们 - 对我来说是不可变的源泉。 这些类是架构中的顶级元素。每个都指向同名的类型: 生成一个具有所有必要属性的 FooType 类,但它没有 @XmlRo
我们观察到,当我们公开一个使用各种 xml 序列化属性修饰的类的 WCF 服务时,尽管我们在接口(interface)上使用了 XmlSerializerFormat 属性,但任何操作参数上的任何 X
我有大量 XML 文件需要对其执行反序列化。这些文件具有不同的根名称(超过 250 个)。在访问 XML 类以检索我的数据之前,我试图通过 XmlSerializer 传递根属性名称。这是我所拥有的,
我正在尝试让我的 httphandler 打印出格式如下的 XML 文件: ... ... ... 但出于某种原因,ScheduledShow.cs 中的属性 XmlRoo
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.isNil()方法的一些代码示例,展示了XMLRoot.isNil()的具体用法。这些代码示例主要来源于Gi
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.getLocalName()方法的一些代码示例,展示了XMLRoot.getLocalName()的具体用法
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.getObject()方法的一些代码示例,展示了XMLRoot.getObject()的具体用法。这些代码示
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.getXMLVersion()方法的一些代码示例,展示了XMLRoot.getXMLVersion()的具体
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.setSchemaType()方法的一些代码示例,展示了XMLRoot.setSchemaType()的具体
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.getSchemaType()方法的一些代码示例,展示了XMLRoot.getSchemaType()的具体
本文整理了Java中org.eclipse.persistence.oxm.XMLRoot.setNamespaceURI()方法的一些代码示例,展示了XMLRoot.setNamespaceURI(
我是一名优秀的程序员,十分优秀!