如何在C#中设置接口XML文件的值

问题描述:

我有一个人的列表。如何在C#中设置接口XML文件的值

List<People> people = new List<People> 
 
    { 
 
    new People() {Id = 1, FirstName = "Will", LastName = "Petit", Address = "123 Street", Type = "Student" }, 
 
    new People() {Id = 2, FirstName = "Anna", LastName = "Poter", Address = "123 Street", Type = "Employee"} 
 
    }

所以,我只是研究XML,我想值设置为XML,距离人民列表来查看我的XML架构。我怎样才能做到这一点 ?请帮帮我。

最终结果是:

<x:People xmlns:x="http://www.w3schools.com"> 
    <Student NoId="1"> 
    <FirstName>Will</FirstName> 
    <LastName>Petit</LastName> 
    <Address>123 Street</Address> 
    </Student> 
    <Employee NoId="2"> 
    <FirstName>Anna</FirstName> 
    <LastName>Poter</LastName> 
    <Address>123 Street</Address> 
    </Employee> 
</x:People> 
+2

这两个xml如何相关?你的问题很不明确。可能你应该添加一些更多的细节 - 你想做什么以及到目前为止你尝试了什么。 –

+0

我有一个人的列表,我想将它们导出到XML。我可以使用XmlSerializer来做到这一点吗? –

你的第一样本的文件是一个文件schema(有时具有扩展xsd当在磁盘上) - 它定义了XML文档的形式。

你的第二个示例文件是一个XML文件 - 可以根据模式验证它是否符合指定的内容。

存在各种各样的工具,它们将从XSD(例如XML Spy)生成空的或默认的文档,或者您可以使用Visual Studio来执行此操作(来自MSDN的here is an example)。你也可以用代码来做like this MSDN example.

但是你需要自己设置任何数据源。您的问题太含糊,无法提供设置值的代码示例,因为您没有提供任何来自哪里的信息。

编辑:顺便说一句,你所提供的示例XML不是有效的 - 在StudentEmployee元素缺少强制性Address元素,命名空间是不是在架构无论是。根据模式,以下是有效的XML文档:

<People> 
    <Student NoId="1"> 
     <FirstName>Will</FirstName> 
     <LastName>Petit</LastName> 
     <Address>1 Test Street</Address> 
    </Student> 
    <Employee NoId="2"> 
     <FirstName>Anna</FirstName> 
     <LastName>Poter</LastName> 
     <Address>Flat 2, Stack Overflow Apartments</Address> 
    </Employee> 
</People>