110,538
社区成员
发帖
与我相关
我的任务
分享
static void Main()
{
XmlReader xr = null;
try
{
XmlReaderSettings xrs = new XmlReaderSettings();
xrs.Schemas.Add("http://www.contoso.com/books", "../../contosoBooks.xsd");
xrs.ValidationType = ValidationType.Schema;
xr = XmlReader.Create("../../contosoBooks.xml", xrs);
while (xr.Read());
}
//catch (XmlSchemaException ex)
catch (XmlSchemaValidationException ex)
{
Console.WriteLine("原因:{0} 行號:{1}", ex.Message, ex.LineNumber);
Console.WriteLine("錯誤節點:{0}", xr.ReadOuterXml());
}
}
static void Main()
{
try
{
XmlReaderSettings xrs = new XmlReaderSettings();
xrs.Schemas.Add("http://www.contoso.com/books", "../../contosoBooks.xsd");
xrs.ValidationType = ValidationType.Schema;
XmlReader xr = XmlReader.Create("../../contosoBooks.xml", xrs);
while (xr.Read()) ;
}
catch (XmlSchemaException ex)
{
// ex.Message: 错误原因
// ex.LineNumber: 错误所在行
}
}
public class Sample {
public static void Main() {
// Create the XmlSchemaSet class.
XmlSchemaSet sc = new XmlSchemaSet();
// Add the schema to the collection.
sc.Add("urn:bookstore-schema", "books.xsd");
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas = sc;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("booksSchemaFail.xml", settings);
// Parse the file.
while (reader.Read());
}
// Display any validation errors.
private static void ValidationCallBack(object sender, ValidationEventArgs e) {
Console.WriteLine("Validation Error: {0}", e.Message);
}
}
static void Main()
{
try
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("http://www.contoso.com/books", "contosoBooks.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create("contosoBooks.xml", settings);
XmlDocument document = new XmlDocument();
document.Load(reader);
ValidationEventHandler eventHandler = new ValidationEventHandler(ValidationEventHandler);
// the following call to Validate succeeds.
document.Validate(eventHandler);
// add a node so that the document is no longer valid
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToFollowing("price", "http://www.contoso.com/books");
XmlWriter writer = navigator.InsertAfter();
writer.WriteStartElement("anotherNode", "http://www.contoso.com/books");
writer.WriteEndElement();
writer.Close();
// the document will now fail to successfully validate
document.Validate(eventHandler);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
static void ValidationEventHandler(object sender, ValidationEventArgs e)
{
switch (e.Severity)
{
case XmlSeverityType.Error:
Console.WriteLine("Error: {0}", e.Message);
break;
case XmlSeverityType.Warning:
Console.WriteLine("Warning {0}", e.Message);
break;
}
}
}