XML 序列化节点来了两次
XML serialization node coming twice
在我的 C# 代码中,我尝试使用 XML 序列化而不是 xml linq。我不确定哪个更好。
但目前我遇到的问题是我的节点出现了两次。所以这是我的 class 结构
public class Enterprise
{
public Properties properties;
public List<Person> person;
}
这是我生成的xml
<?xml version="1.0" encoding="iso-8859-1"?>
<enterprise>
<properties lang="nb">
<Comments>Utlasting av LMS-data</Comments>
<Datasource>SIKT</Datasource>
<Target />
<Datetime>onsdag 24. oktober 2018</Datetime>
</properties>
<person>
<Person>
<sourceid>
<Source>AD</Source>
<Id>123</Id>
</sourceid>
<Userid>mohsin</Userid>
</Person>
如您所见,Person 标签出现了两次。这是它的设置方式
Enterprise enterprise = new Enterprise();
enterprise.properties.LanguageCode = "nb";
enterprise.properties.Comments = "Utlasting av LMS-data";
enterprise.properties.Datasource = "SIKT";
enterprise.properties.Target = "";
enterprise.properties.Datetime = DateTime.Now.ToLongDateString();
List<Person> person = new List<Person>();
person.Add(new Person
{
//sourceid = new SourceId
//{
// Id = "123",
// Source = "AD"
//},
Userid = "mohsin"
});
enterprise.person = person;
有谁知道原因吗?
当您使用列表或数组时,它将被视为“XmlArrayItem”以克服使用 'XmlElement'
public class Enterprise
{
public Properties properties;
[XmlElement("person")]
public List<Person> person;
}
在我的 C# 代码中,我尝试使用 XML 序列化而不是 xml linq。我不确定哪个更好。
但目前我遇到的问题是我的节点出现了两次。所以这是我的 class 结构
public class Enterprise
{
public Properties properties;
public List<Person> person;
}
这是我生成的xml
<?xml version="1.0" encoding="iso-8859-1"?>
<enterprise>
<properties lang="nb">
<Comments>Utlasting av LMS-data</Comments>
<Datasource>SIKT</Datasource>
<Target />
<Datetime>onsdag 24. oktober 2018</Datetime>
</properties>
<person>
<Person>
<sourceid>
<Source>AD</Source>
<Id>123</Id>
</sourceid>
<Userid>mohsin</Userid>
</Person>
如您所见,Person 标签出现了两次。这是它的设置方式
Enterprise enterprise = new Enterprise();
enterprise.properties.LanguageCode = "nb";
enterprise.properties.Comments = "Utlasting av LMS-data";
enterprise.properties.Datasource = "SIKT";
enterprise.properties.Target = "";
enterprise.properties.Datetime = DateTime.Now.ToLongDateString();
List<Person> person = new List<Person>();
person.Add(new Person
{
//sourceid = new SourceId
//{
// Id = "123",
// Source = "AD"
//},
Userid = "mohsin"
});
enterprise.person = person;
有谁知道原因吗?
当您使用列表或数组时,它将被视为“XmlArrayItem”以克服使用 'XmlElement'
public class Enterprise
{
public Properties properties;
[XmlElement("person")]
public List<Person> person;
}