Xml 在VS2005中使用XSD文件
我想写一个XML文件。我创建了一个名为XMLSchema.XSD的XSD文件,并运行命令“XSD/c XMLSchema.XSD”,该命令生成了一个c#class文件。现在,如何使用此文件生成XML文件 我的部分代码:Xml 在VS2005中使用XSD文件,xml,visual-studio,visual-studio-2005,xml-serialization,Xml,Visual Studio,Visual Studio 2005,Xml Serialization,我想写一个XML文件。我创建了一个名为XMLSchema.XSD的XSD文件,并运行命令“XSD/c XMLSchema.XSD”,该命令生成了一个c#class文件。现在,如何使用此文件生成XML文件 我的部分代码: <?xml version="1.0" encoding="utf-8"?> <xs:schema id="XMLSchema" targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefa
<?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#web程序中调用“root”
谢谢您需要在项目中包含
root.cs
文件,然后才能访问它
为了使用此类读取和写入XML文件,您需要使用。您需要在项目中包含
root.cs
文件,然后才能访问它
为了使用此类读取和写入XML文件,您需要使用。正如Oded所说,您只需将生成的文件包含在项目中即可。至于加载/保存,只需为生成的类创建一个新的XmlSerializer,即root。代码: 装载:
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);
}
}
正如Oded所说,您只需在项目中包含生成的文件。至于加载/保存,只需为生成的类创建一个新的XmlSerializer,即root。代码: 装载:
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);
}
}