Tag: xml attribute

在嵌套属性上使用XmlAttributeOverrides

我正在尝试使用XmlAttributeOverrides来控制在序列化类之后哪些类属性出现在xml中。 它适用于“根”类上的属性,但不适用于嵌套属性。 这是一个简单的例子来说明我想要完成的事情。 我的类层次结构如下: public class Main { public string Name { get; set; } public Location Address { get; set; } } public class Location { public string StreetAddress { get; set; } public Contact ContactInfo{ get; set; } } public class Contact { public string PhoneNumber { get; set; } public string EmailAddr […]

如何使用XmlElementAttribute for List ?

我有一个这样的课: public class Level { [XmlAttribute] public string Guid { get; set; } } public class LevelList : List { } public class Test { public LevelList CalLevelList { get; set; } } 使用XmlSerializer,我得到这样的输出: 这在技术上是正确的。 但是,在不更改类名的情况下,我想使输出看起来像这样: 我知道这可以通过属性完成,但无法弄清楚如何。 当我向Test类添加一个属性时,如下所示: public class Test { [XmlElement(“Levels”)] public LevelList CalLevelList { get; set; } } 输出非常令人惊讶: 这意味着,我丢失了父节点。 我指定的元素名称成为节点名称。 为什么这个? […]

如何在C#中序列化期间为数组赋予属性?

我正在尝试生成像这样创建XML片段的C#。 11:22:33:44:55:66:77:88 11:22:33:44:55:66:77:89 11:22:33:44:55:66:77:8A 我在考虑使用这样的东西: [XmlArray( “device_list” ), XmlArrayItem(“item”)] public ListItem[] device_list { get; set; } 作为属性,具有此类声明: public class ListItem { [XmlAttribute] public string type { get; set; } [XmlText] public string Value { get; set; } } 这给了我内部序列化,但我不知道如何将type=”list”属性应用于上面的device_list 。 我正在考虑(但不确定如何编写语法)我需要做的事情: public class DeviceList { [XmlAttribute] public string type { get; set; } [XmlArray] public […]

为什么SelectSingleNode返回null?

我正在使用包含类似于此的结构的XML文档: . . . 我正在以这种方式将文件从文件加载到XML文档中: XmlDocument xdoc = new XmlDocument(); xdoc.Load(“somefile.xml”); //Successfully loads btw 但是,当我尝试运行下一行代码时,我遇到了一个问题,只有这个特定的文档: xdoc.SelectSingleNode(“//event[@id=’1′]”); //This returns a null 我是否在正确的轨道上猜测这是因为使用名为’id’的属性的问题或者我在代码中遗漏了某些东西而返回null?