2012-03-07 11 views
0

私はXMLが初めてです。次のように複数のXMLレコードを含むファイルがあります。C#でXSDスキーマを使用して複数のXMLレコードを1つのファイルで検証するにはどうすればよいですか?

<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

XML文書には1つのルート要素しかないという例外があります。あなたは次のようなものが必要です:

<root> 
    <event></event> 
    <event></event> 
</root> 
+0

こんにちは..返事ありがとうございます。ファイルを変更せずに解決する方法はありますか? – user1254073

+0

これまで試みたことはありませんが、 'XmlReader.Create(source、new XmlReaderSettings {ConformanceLevel = ConformanceLevel.Fragment});'これを使用して 'XmlReader'を作成してみてください。それが複数のものを読むかどうかを知る。 –

関連する問題