如何使用C中的XSD模式验证单个文件中的多个XML记录?
我是XML新手。我有一个包含多个XML记录的文件,如下所示:如何使用C中的XSD模式验证单个文件中的多个XML记录?,xsd,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&g
<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>
如果我在文件中只有一条记录,并且抛出异常,表示有多个根元素,那么这种方法就有效了 就像例外情况所说的:XML文档只能有一个根元素。你需要这样的东西:
<root>
<event></event>
<event></event>
</root>
嗨,约翰。。谢谢你的回复。在不修改文件的情况下,还有其他方法可以解决吗?我以前从未尝试过,但您可以尝试使用XmlReader.Createsource、new XmlReaderSettings{ConformanceLevel=ConformanceLevel.Fragment}创建一个XmlReader;这应该读一个片段,但我不知道它是否会读多个。