如何在类中为每个元素添加属性 [英] How to add an attribute in class for each element
本文介绍了如何在类中为每个元素添加属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个如下所示的课程。
[DataContract]
公开 类申请人
{
私有 string titleField;
private string firstNamesField;
[DataMember(订单= 1 )]
public < span class =code-keyword> string 标题
{
获取
{
return this .titleField;
}
set
{
this .titleField = 值;
}
}
[DataMember(订单= 2 )]
公开 字符串 FirstNames
{
get
{
return this .firstNamesField;
}
set
{
this .firstNamesField = 值;
}
}
}
我正在将这个类对象转换为XML。 />
var app = new 申请人();
var dcs = new DataContractSerializer(app.GetType());
var ms = new MemoryStream();
dcs.WriteObject(ms,app);
string xml = Encoding.UTF8.GetString(ms.GetBuffer(), 0 ,( int )ms.Position);
var doc = XElement.Parse(xml);
doc的值看起来如下所示。
< 申请人 xmlns:i < span class =code-keyword> = http://www.w3.org/2001/XMLSchema-instance xmlns = http://schemas.datacontract.org/2004/07/testApp\">
< 申请人 >
< 标题 > 先生< / Title >
< FirstNames > 申请人< / FirstNames >
< /申请人 >
< /申请人 >
现在,如何在xml中为每个元素添加属性。我想要一个如下所示的XML。
< 申请人 xmlns:i = http://www.w3.org/2001/XMLSchema-instance xmlns = http:// schemas。 datacontract.org/2004/07/testApp\">
< 申请人 >
< 标题 IsEnabled = True > 先生< / Title >
< FirstNames IsEnabled = True > 申请人< / FirstNames >
< /申请人 >
< /申请人 >
必须为每个元素添加IsEnabled属性。但我不想解析XML并为每个元素创建属性。是否可以在类中添加属性并将它们作为每个元素的属性?
解决方案
下面的文章解释了类似的问题并提供了解决方案。请检查
DataContract XML序列化和XML属性 [ ^ ]
I have a class which looks like below.
[DataContract]
public class Applicant
{
private string titleField;
private string firstNamesField;
[DataMember(Order = 1)]
public string Title
{
get
{
return this.titleField;
}
set
{
this.titleField = value;
}
}
[DataMember(Order = 2)]
public string FirstNames
{
get
{
return this.firstNamesField;
}
set
{
this.firstNamesField = value;
}
}
}
I'm converting this class object into XML.
var app = new Applicant();
var dcs = new DataContractSerializer(app.GetType());
var ms = new MemoryStream();
dcs.WriteObject(ms, app);
string xml = Encoding.UTF8.GetString(ms.GetBuffer(), 0, (int)ms.Position);
var doc = XElement.Parse(xml);
the value of "doc" will look something like below.
<Applicant xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/testApp">
<Applicant>
<Title>Mr</Title>
<FirstNames>Applicant</FirstNames>
</Applicant>
</Applicant>
Now , how to add an attribute to a each element in xml. I want an XML like below.
<Applicant xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/testApp">
<Applicant>
<Title IsEnabled="True">Mr</Title>
<FirstNames IsEnabled="True">Applicant</FirstNames>
</Applicant>
</Applicant>
The "IsEnabled" attribute has to come for each element. But i don't want to parse XML and create attribute for each element. Is it possible to add a property in the class and make them as a attribute for each element ?
解决方案
Below article explains similar problem and provide a solution. Please check
DataContract XML serialization and XML attributes[^]
这篇关于如何在类中为每个元素添加属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文