我想写一个XML文件。我创建了一个名为XMLSchema.xsd的XSD文件,并运行生成c#类文件的命令'xsd / c XMLSchema.xsd'。现在,我如何使用此文件生成XML文件?
我的部分代码:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="XMLSchema" targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" >
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="Audit">
<xs:complexType>
...
生成一个c#类'root'。
如何从C#网络程序中调用“root”?
由于
答案 0 :(得分:1)
您需要在项目中包含root.cs
文件,然后才能访问该文件。
要使用此类读取和写入XML文件,您需要使用serialization。
答案 1 :(得分:0)
正如Oded所说,您只需在项目中包含生成的文件即可。至于加载/保存,只需为生成的类(即root)创建一个新的XmlSerializer。在代码中:
装载:
using (var fileStream = File.OpenRead(xmlFilePath))
{
using (var reader = new StreamReader(fileStream))
{
Root data;
var serializer = new XmlSerializer(typeof(Root));
try
{
data = serializer.Deserialize(reader) as T;
}
catch (InvalidOperationException exception)
{
// XML is invalid
return null;
}
return data;
}
}
保存:
using (var fs = File.Create(targetPath))
{
using (var writer = new StreamWriter(fs))
{
var serializer = new XmlSerializer(typeof(Root));
serializer.Serialize(writer, value);
}
}