- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道您不能向 XmlArray 添加属性,我认为这真的很不方便。我知道我可以为 Phone 创建一个单独的类,但是,Phone 属于 Access。我还有大约 30 个节点正在访问中。如何反序列化属性 hasTextField?
<Access>
<Phone hasTextField="true">
<Item description="Skype" />
<Item description="IP Phone" />
</Phone>
<Computer>
<Item description="PC" />
<Item description="Laptop" />
</Computer>
</Access>
[XmlRoot("Access")]
public class Access
{
public Access(){}
[XmlArray("Phone")]
[XmlArrayItem("Item")]
public AccessItem[] ItemList;
[XmlArray("Computer")]
[XmlArrayItem("Item")]
public AccessItem[] ItemList;
}
最佳答案
您可以将 XmlArray
替换为 XmlElement
。
参见:How to add an attribute to a collection marked with XmlArrayAttribute?
[XmlType("Access")]
public class Access
{
[XmlElement("Phone")]
public AccessItem Phone { get; set; }
[XmlElement("Computer")]
public AccessItem Computer { get; set; }
}
public class AccessItem
{
public AccessItem()
{
Items = new List<Item>();
}
[XmlAttribute("hasTextField")]
public bool HasTextField { get; set; }
[XmlElement("Item")]
public List<Item> Items { get; set; }
}
[XmlType("Item")]
public class Item
{
[XmlAttribute("description")]
public string Description { get; set; }
}
代码:
var data = @"<Access>
<Phone hasTextField=""true"">
<Item description=""Skype"" />
<Item description=""IP Phone"" />
</Phone>
<Computer>
<Item description=""PC"" />
<Item description=""Laptop"" />
</Computer>
</Access>";
var serializer = new XmlSerializer(typeof(Access));
Access access;
using(var stream = new StringReader(data))
using(var reader = XmlReader.Create(stream))
{
access = (Access)serializer.Deserialize(reader);
}
关于c# - 反序列化 xmlarray 的 xml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17884264/
我有以下 XML: 6/9/2012 12:25 17:30 22:35 http://w
我在使用 XmlSerializer 生成以下 XML 结构时遇到问题: This is root. Otha. This Is Circ
我得到了这个函数,它是一个 xml 文件,我想将图像 url 保存在数组中并将其显示在 UIImageView 中,但如何做到呢?我这样做的方式不对吗? func latestNews(){
我有 public class Convolutions : List { } 序列化为 xml: 但我想: 但是不可能在类上使用 [XmlArray("Convolutio
我知道您不能向 XmlArray 添加属性,我认为这真的很不方便。我知道我可以为 Phone 创建一个单独的类,但是,Phone 属于 Access。我还有大约 30 个节点正在访问中。如何反序列化属
如何在序列化对象时向 XmlArray 元素(而不是 XmlArrayItem)添加属性? 最佳答案 XmlArray 用于告诉 xmlserializer 将属性视为数组并根据元素名称的参数对其进行
首先:这也适用于 REST deseraliaztion,因此自定义 XmlSerializer 是不可能的。 我有一个类的 hjierarchy,需要从“信封”进行序列化和反序列化。它有一个名为“I
让我直截了本地说。如果它为空,是否可以不序列化 XMLArray 元素?正如在下面的 XML 中一样,使用了“详细信息”。如果它为空,是否可以不在 XML 中使用它。请检查我的代码,并感谢您对此的一些
我想要以下格式的 XML: ... ... ... 我正在尝试创建一个类 Configuration有 [Serializable]属性。要序列化凭据节点,我有以下内容: [XmlAr
我是一名优秀的程序员,十分优秀!