我在序列化和对象方面遇到问题,我可以让它创建所有正确的输出,除了我有一个需要值和属性的元素。这是所需的输出:
<Root>
<Method>Retrieve</Method>
<Options>
<Filter>
<Times>
<TimeFrom>2009-06-17</TimeFrom>
</Times>
<Document type="word">document name</Document>
</Filter>
</Options>
</AdCourierAPI>
我可以构建所有但找不到设置文档类型属性的方法,这里是对象类的一部分
[XmlRoot("Root"), Serializable]
public class Root
{
[XmlElement("Method")]
public string method="RetrieveApplications";
[XmlElement("Options")]
public _Options Options;
}
public class _Options
{
[XmlElement("Filter")]
public _Filter Filter;
}
public class _Filter
{
[XmlElement("Times")]
public _Times Times;
[XmlElement("Documents")]
public string Documents;
}
这给了我:
<Document>document name</Document>
而不是:
<Document type="word">document name</Document>
但是我找不到解决这个问题的方法,请指教。
谢谢
最佳答案
type
存储在哪里?
通常你可以有这样的东西:
class Document {
[XmlAttribute("type")]
public string Type { get; set; }
[XmlText]
public string Name { get; set; }
}
public class _Filter
{
[XmlElement("Times")]
public _Times Times;
[XmlElement("Document")]
public Document Document;
}
关于c# - 如何为 C# XML 序列化添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1012360/