代码改变世界

ASP.NET2.0 XML系列(6): 使用XmlReaderSettings配置XmlReader的输出

  敏捷的水  阅读(1497)  评论(0编辑  收藏  举报
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;
            }

        }

 

->employees
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
---->employee
------->name
---------->firstName
---------->lastName
------->city
------->state
------->zipCode
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示