XmlReaderSettings是用来验证XML数据的一个重要的类,后面我们将用这个类来验证XML文件,这里我们先演示使用XmlReaderSettings来配置XmlReader的输出
XmlReaderSettings类的属性
名称 | 说明 |
---|---|
CheckCharacters | 获取或设置一个值,该值指示是否进行字符检查。 |
CloseInput | 获取或设置一个值,该值指示当读取器关闭时,是否应关闭基础流或 TextReader。 |
ConformanceLevel | 获取或设置 XmlReader 将遵循的一致性级别。 |
IgnoreComments | 获取或设置一个值,该值指示是否忽略注释。 |
IgnoreProcessingInstructions | 获取或设置一个值,该值指示是否忽略处理指令。 |
IgnoreWhitespace | 获取或设置一个值,该值指示是否忽略无关紧要的空白。 |
LineNumberOffset | 获取或设置 XmlReader 对象的行号偏移量。 |
LinePositionOffset | 获取或设置 XmlReader 对象的行位置偏移量。 |
NameTable | 获取或设置用于原子化字符串比较的 XmlNameTable。 |
ProhibitDtd | 获取或设置一个值,该值指示是否禁用文档类型定义 (DTD) 处理。 |
Schemas | 获取或设置在执行架构验证时使用的 XmlSchemaSet。 |
ValidationFlags | 获取或设置一个指示架构验证设置的值。此设置应用于验证架构的 XmlReader 对象(ValidationType 属性设置为 ValidationType.Schema)。 |
ValidationType | 获取或设置一个值,该值指示 XmlReader 在读取时是否执行验证或类型分配。 |
XmlResolver | 设置用来访问外部文档的 XmlResolver。 |
实例:
protected
void
Page_Load(
object
sender, EventArgs e)
{
string xmlFilePath = Request.PhysicalApplicationPath + @"\Employees.xml";
XmlReaderSettings settings=new XmlReaderSettings();
settings.IgnoreComments=true;
settings.IgnoreComments=true;
try
{
using (XmlReader reader = XmlReader.Create(xmlFilePath,settings))
{
string result;
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
result = "";
for (int count = 0; count < reader.Depth; count++)
{
result += "---";
}
result += "->" + reader.Name + "<br/>";
this.mEmployeesLabel.Text += result;
}
}
}
}
catch (Exception ex)
{
this.mEmployeesLabel.Text = "An Exception occured:" + ex.Message;
}
}
{
string xmlFilePath = Request.PhysicalApplicationPath + @"\Employees.xml";
XmlReaderSettings settings=new XmlReaderSettings();
settings.IgnoreComments=true;
settings.IgnoreComments=true;
try
{
using (XmlReader reader = XmlReader.Create(xmlFilePath,settings))
{
string result;
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
result = "";
for (int count = 0; count < reader.Depth; count++)
{
result += "---";
}
result += "->" + reader.Name + "<br/>";
this.mEmployeesLabel.Text += result;
}
}
}
}
catch (Exception ex)
{
this.mEmployeesLabel.Text = "An Exception occured:" + ex.Message;
}
}
->employees
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
本文转自敏捷的水博客园博客,原文链接
http://www.cnblogs.com/cnblogsfans/archive/2008/03/16/1108481.html如需转载请自行联系原作者
王德水