我的编程空间,编程开发者的网络收藏夹
学习永远不晚

.NET Framework处理XML操作技巧是怎样的呢

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

.NET Framework处理XML操作技巧是怎样的呢

.NET Framework处理XML操作技巧是怎样的呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

.NET Framework应用范围还是比较广泛的。许多开发人员都会使用它来创造出一个适合开发的环境帮助我们提高开发效率。在.NET Framework出现之前,习惯使用MSXML服务,一个基于COM的类库;写Windows的XML的驱动程序。不像.NET Framework中的类,MSXML类库的部分代码比API更深,它完全的嵌在操作系统的底层。

MSXML的确能够与你的应用程序通信,但是它不能真正 的与外部环境结合。 MSXML类库能在win32中被导入,也能在CLR中运用,但它只能作为一个外部服务器组件使用。但是基于.NET Framework的应用程序能直接的进行.NET Framework处理XML的其它命名空间整合使用,并且写出来的代码易于阅读。

作为一个独立的组件,MSXML分析器提供了一些高级的特性如异步分析。这个特性在.NET Framework中的XML类及.NET Framework的其它类都没有提供,但是,.NET Framework中的XML类与其它的类整合可以很轻易的获得相同的功能,在这个基础上你可以增加更多的功能。

.NET Framework处理XML的类提供了基本的分析、查询、转换XML数据的功能。在.NET Framework中,你可以找到支持Xpath查询和XSLT转换的类,及读/写XML文档的类。另外,.NET Framework也包含了其它处理XML的类,例如对象的序列化(XmlSerializer和the SoapFormatter类),应用程序配置(AppSettingsReader类),数据存储(DataSet类)。

既然XML是一种标记语言,就应该有一种工具按一定的语法来分析和理解存储在文档中信息。这个工具就是XML分析器——一个组件用于读标记文本并返回指定平台的对象。

分析器的主要功能就是检查XML文件是否有结构上的错误,剥离XML文件中的标记,读出正确的内容,以交给下一步的应用程序处理。XML是一种用来结构化 文件信息的标记语言,XML规范中对于如何标记文件的结构性有一个详细的法则,解析器就是根据这些法则写出来的软件(多用Java写成)。同HTML一 样,在浏览器中,必须有HTML的分析器,这样浏览器才能够“读懂”各种用HTML标记所组成的网页,将它们显示在我们面前。如果有浏览器的HTML解析 器读不懂的标记,将会返回给我们错误信息。

所有的XML分析器,不管它属于哪个操作平台,不外乎都分以下的两类:基于树或者基于事件的处理器。这两类通常都是用XMLDOM(the Microsoft XML Document Object Model)和SAX(Simple API for XML)来实现。XMLDOM分析器是一个普通的基于树的API,它把XML文档当成一个内存结构树呈现。SAX分析器是基于事件的API,它处理每 个在XML数据流中的元素(它把XML数据放进流中再进行处理)。通常,DOM能被一个SAX流载入并执行,因此,这两类的处理不是相互排斥的。

总的来说,SAX分析器与XMLDOM分析器正好相反,它们的分析模式存在着极大的差别。XMLDOM被很好的定义在它的 functionalition集合里面,你不能扩展它。当它在处理一个大型的文档时,它要占用很大内存空间来处理functionalition这个巨 大的集合。

SAX分析器利用客户端应用程序通过现存的指定平台的对象的实例去处理分析事件。SAX分析器控制整个处理过程,把数据“推出”到处理程序,该处理程序依次接受或拒绝处理数据。这种模式的优点是只需很少的内存空间。

.NET Framework处理XML完全支持XMLDOM模式,但它不支持SAX模式。因为.NET Framework支持两种不同的分析模式:XMLDOM分析器和XML阅读器。它显然不支持SAX分析器,但这并不意味它没有提供类似SAX分析器的功 能。通过XML阅读器SAX的所有的功能都能很容易的实现及更有效的运用。不像SAX分析器,.NET Framework的阅读器整个都运作在客户端应用程序下面。这样,应用程序本身就可以只把真正需要的数据“推出”,然后从XML数据流中跳出来。而 SAX分析模式要处理所有的对应用程序有用和无用的信息。

阅读器是基于.NET Framework流模式工作的,它的工作方式类似于数据库的游标。有趣的是,实现类似游标分析模式的类提供对.NET Framework中的XMLDOM分析器的底层支持。XmlReader、XmlWriter两个抽象类是所有.NET Framework中XML类的基础类,包括XMLDOM类、ADO.NET驱动类及配置类。所以在.NET Framework中你有两种可选的方法去处理XML数据。用XmlReader和XmlWriter类直接处理XML数据,或者用XMLDOM模式处理。

XML阅读器支持一个编程接口,接口用于连接XML文档,“推出”你要的数据。如果你更深入去了解阅读器,你会发现阅读器工作原理类似于我们的桌面 应用程序从数据库中取出数据的原理。数据库服务返回一个游标对象,它包含所有查询结果集,并返回指向目标数据集的开始地址的引用。XML阅读器的客户端收 到一个指向阅读器实例的引用。该实例提取底层的数据流并把取出的数据呈现为一棵XML树。阅读器类提供只读、向前的游标,你可以用阅读器类提供的方法滚动 游标遍历结果集中的每一条数据。 从阅读器中看XML文档不是一个标签文本文件,而是一个序列化的节点集合。它是.NET Framework中的一种特殊的游标模式;在.NET Framework中,你找不到其它的任何一个类似的API函数。

阅读器和XMLDOM分析器有几点不同的地方。XML阅读器是只进的,它没有父、子、祖宗、兄弟节点的概念,而且是只读的。在.NET Framework处理XML中,读写XML文档是分为两种完全不同的功能,分别由XmlReader和XmlWriter类来完成。要编辑XML文档,你可以用 XMLDOM分析器。

.net framework处理xml主要包System.Xml命名空间当中,而xml序列化则在System.Xml.Serialization 命名空间中,***简要说一下有关DTD的概念。

DTD(Document Type Definition,文档类型定义)它是一种规范,可以使商业组织间进行无缝的数据交换,打个比方,如果两个同行业的公司A和B要用XML文件相互交换数据,A公司用〈价格〉标记来表示他们产品的价格信息,而B公司可能用〈售价〉表示价格信息。如果一 个XML应用程序来读取他们各自的XML文件中的信息时,如果它只知道〈价格〉标记里表示的是价格信息,那么B公司的价格信息就读不出来,必将产生错误。 显然,对于想利用XML文件来交换信息的实体来说,他们之间必须有一个约定——即编写XML文件可以用哪些标记,母元素中能够包括哪些子元素,各个元素出 现的顺序,元素中的属性怎样定义等。这么人帮我们就可以轻松地依据这个DTD 编写一个应用程序,去网上将我们感兴趣的东西自动抓回来。 这就是所谓的DTD,A和B公司在交换数据时都必须遵循一种规范。

现在.NET Framework处理XML的方式中已经有了好几个定义好的DTD,如MathML、SMIL等。MathML‎(Mathematical Markup Language‎)即数学置标语言是一种基于XML的标准,用来在互联网上书写数学符号和公式的置标语言。它是由W3C的数学工作组提出的。由于数学符号和公式的结构复杂且符号与符号之间存在多种逻辑关系,MathML的格式十分繁琐。这个东东太复杂了,我懒得去研究它,随它吧。SMIL好像念作smile,是用来操纵多媒体片断(对多媒体片断的有机的、智能的组合)。 

看来这东西真的不错!SMIL语言是一套已经规定好的而且非常简单的标记。它用来规定多媒体片断(这里多媒体的包括的范围有:声音文件、视频文件、动画、图片、文字等)在什么时候、在什么地方、以什么样的方式播放。

看完上述内容,你们掌握.NET Framework处理XML操作技巧是怎样的呢的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

.NET Framework处理XML操作技巧是怎样的呢

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

.NET Framework处理XML操作技巧是怎样的呢

.NET Framework处理XML操作技巧是怎样的呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。.NET Framework应用范围还是比较广泛的。许多开发人员都会使用它
2023-06-17

.Net Framework文本处理相关操作方法是怎样的

本篇文章为大家展示了.Net Framework文本处理相关操作方法是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。.Net Framework开发环境帮助我们提供了一个功能非常强大的编写平台
2023-06-17

.NET Framework安全防护技巧是怎么样的

这篇文章将为大家详细讲解有关.NET Framework安全防护技巧是怎么样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。作为一个开发人员来说,.NET Framework是一款功能非常强
2023-06-17

.NET Framework匿名类的操作方法是怎样的

本篇文章为大家展示了.NET Framework匿名类的操作方法是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。.NET Framework应用程序为开发人员提供了一种WEB应用程序部署的环境
2023-06-17

.NET Framework初始化相关实现技巧是怎样的

本篇文章给大家分享的是有关.NET Framework初始化相关实现技巧是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何正确的应用.NET Framework,决定了
2023-06-17

ASP.NET对请求处理过程的操作是怎样的

本篇内容介绍了“ASP.NET对请求处理过程的操作是怎样的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!当请求一个*.aspx文件的时候,这
2023-06-17

python中文件操作与异常的处理是怎样的

本篇文章为大家展示了python中文件操作与异常的处理是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、 文件的操作1.1创建文件格式:f = open(‘文件, ‘w)或者f = open
2023-06-22

Java switch 异常处理的具体操作步骤是怎样的?(java switch异常处理如何操作)

在Java编程中,switch语句通常用于根据不同的条件执行不同的代码块。然而,当switch语句中的条件可能引发异常时,我们需要进行适当的异常处理,以确保程序的稳定性和可靠性。以下是关于Javaswitch
Java switch 异常处理的具体操作步骤是怎样的?(java switch异常处理如何操作)
Java2024-12-22

电脑操作系统相关故障讲解和修复技巧是怎样的

今天就跟大家聊聊有关电脑操作系统相关故障讲解和修复技巧是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。对于使用Windows XP操作系统的朋友来说,当操作系统出现崩溃或者使用
2023-06-14

Python或C API数字在操作处理时的步骤是怎么样的

今天就跟大家聊聊有关Python或C API数字在操作处理时的步骤是怎么样的 ,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python/C API数字与字符串在进行相关处理时Pyt
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录