摆脱&LT; ArrayOfClassname&GT;序列化阵列时,根元素 [英] Get rid of <ArrayOfClassname> root element when serializing array
本文介绍了摆脱&LT; ArrayOfClassname&GT;序列化阵列时,根元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是一个code例如:
Here's a code example:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
...
static void Main()
{
Person[] persons = new Person[]
{
new Person{ FirstName = "John", LastName = "Smith"},
new Person{ FirstName = "Mark", LastName = "Jones"},
new Person{ FirstName= "Alex", LastName="Hackman"}
};
XmlSerializer xs = new XmlSerializer(typeof(Person[]), "");
using (FileStream stream = File.Create("persons-" + Guid.NewGuid().ToString().Substring(0, 4) + ".xml"))
{
xs.Serialize(stream, persons);
}
}
下面是输出:
<?xml version="1.0"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
<Person>
<FirstName>Mark</FirstName>
<LastName>Jones</LastName>
</Person>
<Person>
<FirstName>Alex</FirstName>
<LastName>Hackman</LastName>
</Person>
</ArrayOfPerson>
下面是一个问题。如何摆脱根元素和渲染,就像这样的人:
Here's a question. How to get rid of root element and render persons just like this:
<?xml version="1.0"?>
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
<Person>
<FirstName>Mark</FirstName>
<LastName>Jones</LastName>
</Person>
<Person>
<FirstName>Alex</FirstName>
<LastName>Hackman</LastName>
</Person>
谢谢!
推荐答案
这是一个畸形的 XML
你想要的,不可能通过 XmlSerializer的获得它
,但你可以改变 ArrayOfPersno
元素的名称smothing其他:
That's a malformed XML
you want, not possible to obtain it via XmlSerializer
, but you can change ArrayOfPersno
element name to smothing else:
例如:
XmlSerializer xs = new XmlSerializer(typeof(Person[]),
new XmlRootAttribute("Persons"));
会给你:
<?xml version="1.0"?>
<Persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Person>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
...
这篇关于摆脱&LT; ArrayOfClassname&GT;序列化阵列时,根元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文