создание xml на основе схемы xsd (с .NET)
Я хочу сгенерировать файл xml на основе моей схемы xsd (cap.xsd). Я нашел эту статью и следовал инструкции:Генерация XML-файла с использованием XSD-файла
Я создал класс с помощью xsd.exe и вставил его в мое решение.После этого я строю свое решение и xml был создан. Но это не основано на схеме xsd.В xml-файле был элемент, содержащий символы, но в схеме указано, что он должен иметь числа (double)
Во всяком случае, я не вижу, какое влияние оказывает схема xsd на сгенерированный xml? Если я удаляю схему, XML-файл все еще был создан. И XML-файл был создан этой строки:
var data = new Program {Time = "abc", Source = "443543253243",};
.. а не по моей схеме
В чем дело?
Мои занятия:
namespace testapp
{
using System.IO;
using System.Xml.Serialization;
public class Program
{
public string Time;
public string Source;
public static void Main()
{
var data = new Program
{
Time = "abc",
Source = "buffalo",
};
var serializer = new XmlSerializer(typeof(Program));
using (var stream = new StreamWriter("E:\\cap_test.xml"))
{
serializer.Serialize(stream, data);
}
}
}
}
Моя схема:
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="cap" type="capType"/>
<xsd:complexType name="capType">
<xsd:sequence>
<xsd:element name="tel" type="telType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="telType">
<xsd:sequence>
<xsd:element name="time" type="xsd:double"/>
<xsd:element name="source" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
и мой XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<Program xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Time>abc</Time>
<Source>buffalo</Source>
</Program>