使用 XmlReader 验证 XML 数据 import include
2009-07-30 12:44
369 查看
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
public class Sample {
public static void Main() {
// Create the XmlSchemaSet class.
XmlSchemaSet sc = new XmlSchemaSet();
// Add the schema to the collection. import and inlcude part for the xml
sc.Add("namespace", "uri");
sc.Add("namespace1", "uri1");
// 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(new stringReader("test string"), 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);
}
}
如果xml 有多个shema:
//Create the XmlSchemaSet class.
XmlSchemaSet schemaSet = new XmlSchemaSet();
//Add the schema to the collection. import and inlcude part for the xml
schemaSet.Add("http://tempuri.org/", XmlTextReader.Create(new StringReader(SchemaResource.schema1)));
schemaSet.Add("http://schemas.microsoft.com/2003/10/Serialization/Arrays", XmlTextReader.Create(new StringReader(SchemaResource.schema2)));
schemaSet.Add("http://schemas.datacontract.org/2004/07/Microsoft.Office.Server.Search.Internal.Administration", XmlTextReader.Create(new StringReader(SchemaResource.schema3)));
schemaSet.Add("http://schemas.microsoft.com/2003/10/Serialization/", XmlTextReader.Create(new StringReader(SchemaResource.schema4)));
schemaSet.Add("http://schemas.datacontract.org/2004/07/Microsoft.Office.Server.Search.Administration", XmlTextReader.Create(new StringReader(SchemaResource.schema5)));
//Set the validation settings.
XmlReaderSettings validationSettings = new XmlReaderSettings();
validationSettings.Schemas = schemaSet;
validationSettings.ValidationType = ValidationType.Schema;
XmlReader validationReader = XmlReader.Create(new StringReader(xmlString), validationSettings);
try
{
while (validationReader.Read())
return ;
}
catch (System.Xml.Schema.XmlSchemaValidationException xmlSchemaValidationException)
{
throw new XmlSchemaValidationException(xmlSchemaValidationException.ToString());
}
using System.Xml;
using System.Xml.Schema;
using System.IO;
public class Sample {
public static void Main() {
// Create the XmlSchemaSet class.
XmlSchemaSet sc = new XmlSchemaSet();
// Add the schema to the collection. import and inlcude part for the xml
sc.Add("namespace", "uri");
sc.Add("namespace1", "uri1");
// 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(new stringReader("test string"), 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);
}
}
如果xml 有多个shema:
//Create the XmlSchemaSet class.
XmlSchemaSet schemaSet = new XmlSchemaSet();
//Add the schema to the collection. import and inlcude part for the xml
schemaSet.Add("http://tempuri.org/", XmlTextReader.Create(new StringReader(SchemaResource.schema1)));
schemaSet.Add("http://schemas.microsoft.com/2003/10/Serialization/Arrays", XmlTextReader.Create(new StringReader(SchemaResource.schema2)));
schemaSet.Add("http://schemas.datacontract.org/2004/07/Microsoft.Office.Server.Search.Internal.Administration", XmlTextReader.Create(new StringReader(SchemaResource.schema3)));
schemaSet.Add("http://schemas.microsoft.com/2003/10/Serialization/", XmlTextReader.Create(new StringReader(SchemaResource.schema4)));
schemaSet.Add("http://schemas.datacontract.org/2004/07/Microsoft.Office.Server.Search.Administration", XmlTextReader.Create(new StringReader(SchemaResource.schema5)));
//Set the validation settings.
XmlReaderSettings validationSettings = new XmlReaderSettings();
validationSettings.Schemas = schemaSet;
validationSettings.ValidationType = ValidationType.Schema;
XmlReader validationReader = XmlReader.Create(new StringReader(xmlString), validationSettings);
try
{
while (validationReader.Read())
return ;
}
catch (System.Xml.Schema.XmlSchemaValidationException xmlSchemaValidationException)
{
throw new XmlSchemaValidationException(xmlSchemaValidationException.ToString());
}
相关文章推荐
- spring Security4 和 oauth2整合 注解+xml混合使用(验证码等额外数据验证)
- 使用正则表达式进行xml数据验证
- PHP中使用xmlreader读取xml数据示例
- 使用XML Schema验证XML数据输入
- PHP中使用xmlreader读取xml数据示例
- 使用正则表达式进行xml数据验证
- 使用XmlReader验证XML文档的规范性
- XML校验学习之一:使用XSD模式验证XML数据
- 使用正则表达式进行xml数据验证
- IssueVision与TaskVision 使用技术比较--XML Web services自定义身份验证数据
- Silverlight使用XmlReader读取XML数据到TreeView中
- 使用正则表达式进行xml数据验证
- 使用正则表达式进行xml数据验证
- 使用XSD模式验证XML数据
- 使用正则表达式进行xml数据验证
- 使用正则表达式进行xml数据验证
- 使用XML Schema验证XML数据输入
- 使用JavaScript访问XML数据
- 使用XmlReader读取xml文件
- 使用dom4j读取xml文件初始化数据