0
의 xsd 스키마에 대해 내 xml 파일의 유효성을 검사해야합니다. "ID"특성이 선언되지 않았기 때문에 오류가 발생합니다. 'Student'요소에 잘못된 자식 요소가 있습니다. '학생'.xml 및 xsd 스키마 파일을 모두 추가 한 후 코드를 실행할 때 C#
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Students>
<Student ID="101">
<Name>kamal</Name>
<Gender>Male</Gender>
<Marks>800</Marks>
</Student>
<Student ID="102">
<Name>Sapna</Name>
<Gender>Female</Gender>
<Marks>900</Marks>
</Student>
<Student ID="103">
<Name>Raju</Name>
<Gender>Male</Gender>
<Marks>870</Marks>
<Student ID="104">
<Name>Sushant</Name>
<Gender>Male</Gender>
<Marks>700</Marks>
</Student>
</Student>
</Students>
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Students">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Student" minOccurs="1" maxOccurs="4">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Name" minOccurs="1" maxOccurs="1"/>
<xsd:element name="Gender" minOccurs="1" maxOccurs="1"/>
<xsd:element name="Marks" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
그리고 마지막으로 코드 파일 :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using System.Xml.Schema;
namespace ClassLibrary1
{
class Class16
{
public static void Main()
{
XmlSchemaSet ss = new XmlSchemaSet();
ss.Add("", @"C:\Users\admin\documents\visual studio 2013\Projects\ClassLibrary1\ClassLibrary1\Students.xsd");
XDocument doc = XDocument.Load(@"C:\Users\admin\documents\visual studio 2013\Projects\ClassLibrary1\ClassLibrary1\sample1.xml");
bool validationerror = false;
doc.Validate(ss,(s,e)=>
{
Console.WriteLine(e.Message);
validationerror = true;
});
if(validationerror)
{
Console.WriteLine("Validation failed");
Console.ReadLine();
}
else
{
Console.WriteLine("Validation succeded");
Console.ReadLine();
}
}
}
}
당신은 당신이 여기에서 변경 한 일을 말해! –
XSD –
에서 를 추가했으며 XML에서 한 학생 요소를 올바르게 닫지 않았습니다. 그래서 나는 그것을했다. XML 파일의 세 번째 학생 요소를주의 깊게 관찰하면 닫는 태그가 끝까지 이동한다는 것을 알 수 있습니다. 이 때문에 당신은 오류가 발생합니다 "요소 '학생'에 잘못된 자식 요소 '학생'이 있습니다." –