xmlserialized类的c#集值
我想编写以下XML:xmlserialized类的c#集值,c#,xmlserializer,complextype,C#,Xmlserializer,Complextype,我想编写以下XML: <Fields> <Field name="john">lorem</Field> <Field name="john">lorem</Field> <Field name="john">lorem</Field> </Fields> 废弃xsd.exe并生成您的模型: [XmlRoot("Fields")] public class MyViewMod
<Fields>
<Field name="john">lorem</Field>
<Field name="john">lorem</Field>
<Field name="john">lorem</Field>
</Fields>
废弃
xsd.exe
并生成您的模型:
[XmlRoot("Fields")]
public class MyViewModel
{
[XmlElement("Field")]
public Field[] Fields { get; set; }
}
public class Field
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlText]
public string Value { get; set; }
}
然后将其序列化:
var model = new MyViewModel
{
Fields = new[]
{
new Field { Name = "john", Value = "lorem" },
new Field { Name = "smith", Value = "ipsum" },
}
};
var serializer = new XmlSerializer(typeof(MyViewModel));
serializer.Serialize(Console.Out, model);
我想避免自己写模型。为什么xsd.exe没有生成XmlText属性?@Marius,我完全不知道
xsd.exe
为什么没有生成正确的类。我从来没用过。我总是喜欢设计我正在使用的类,从不依赖某些工具来完成我的工作。
var example = new FieldType();
example.name = "attribute value";
//how to set the element value?
[XmlRoot("Fields")]
public class MyViewModel
{
[XmlElement("Field")]
public Field[] Fields { get; set; }
}
public class Field
{
[XmlAttribute("name")]
public string Name { get; set; }
[XmlText]
public string Value { get; set; }
}
var model = new MyViewModel
{
Fields = new[]
{
new Field { Name = "john", Value = "lorem" },
new Field { Name = "smith", Value = "ipsum" },
}
};
var serializer = new XmlSerializer(typeof(MyViewModel));
serializer.Serialize(Console.Out, model);