【发布时间】:2013-08-03 11:53:23
【问题描述】:
我想使用内联 XML 模式验证字符串,并想处理 XMLSchemaException。我尝试了以下代码:
String parameter="<HostName>Arasanalu</HostName><AdminUserName>Administrator</AdminUserName>
<AdminPassword>A1234</AdminPassword><PlaceNumber>38</PlaceNumber>"
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.ValidationFlags |= XmlSchemaValidationFlags.ProcessInlineSchema;
settings.ValidationFlags |= XmlSchemaValidationFlags.AllowXmlAttributes;
//settings.Schemas.Add(null,"http://www.w3.org/2001/XMLSchema");
XmlSchemaSet sch = new XmlSchemaSet();
sch.Add(null,"http://www.w3.org/2001/XMLSchema");
try
{
// Create the XmlReader object.
XmlReader xmlrdr = XmlReader.Create(new StringReader("<root>" + parameter + "</root>"),
settings);
// Parse the file.
while (xmlrdr.Read());
}
catch (XmlSchemaValidationException ex)
{
Console.WriteLine("The file could not read the value at XML format is not correct due to" + ex);
}
我在传递无效参数while (xmlrdr.Read()); 时收到错误“XMLException was unhandled”。但我只想处理XMLSchemaValidationException。请告诉我如何实现这一目标。
【问题讨论】:
-
什么是ab?你说的是参数吗? XmlException 说明了什么问题?
-
谢谢我把ab改成参数了,XMLEXception没有在while (xmlrdr.Read());