如何在C#中使用XSD架构在单个文件中验证多个XML记录?

时间:2012-03-07 07:54:18

标签: xsd

我是XML新手。我有一个包含多个XML记录的文件,如下所示:

<event> //Record 1
 <sequence>1</sequence>
 <date>5-Feb-2012</date>
 <time>00:00:42</time>
 <severity>0</severity>
 <errorcode>0</errorcode>
</event>
<event> //Record 2
 <sequence>2</sequence>
 <date>5-Feb-2012</date>
 <time>00:00:51</time>
 <severity>0</severity>
 <errorcode>0</errorcode>
</event>

我需要验证此输入文件。我写了一个如下图所示的模式:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="event">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="sequence" type="xs:integer"/>
            <xs:element name="date" type="xs:date"/>
            <xs:element name="time" type="xs:time"/>
            <xs:element name="severity" type="xs:integer"/>
            <xs:element name="errorcode" type="xs:integer"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>        

如果我在文件中只有一条记录并抛出异常,说“有多个根元素”,则此方法有效。

1 个答案:

答案 0 :(得分:0)

就像异常所说:XML文档只能有一个根元素。你需要这样的东西:

<root>
    <event></event>
    <event></event>
</root>