当前位置:网站首页>XML入门三
XML入门三
2022-07-04 12:42:00 【华为云】
Xml基础03
补充复习:
Xml
可扩展的标记语言
eXtensible Markup Language
以简单文本格式存储数据的方式
Xml****结构
元素,属性,声明,注释
XML****文档验证
DTD
Schema :XSD架构
文档对象模型-DOM
XML文件的树状结构
Xml****数据解析
Dom:XPath
Sax:XmlTextReader, XmlTextWriter
Xml与Ado.Net交互
XmlNode****选择节点的方法
SelectSingleNode(string)
选择匹配 XPath 表达式的第一个 XmlNode。
SelectNodes(string)
选择匹配 XPath 表达式的节点列表
适用于:
XmlDocument
XmlElement
XmlAttribute
XPath
Xml文档查询语言
用于从 XML 文档中选择节点集
目标 (假设当前节点是book节点) | XPath举例 |
---|---|
选择当前节点 | . |
选择父节点 | … |
选择当前节点的所有子节点 | ***** |
选择author子节点 | author |
选择当前节点的title属性 | @title |
选择当前节点的所有属性 | @* |
选择当前节点的所有文本节点(XmlText) | text() |
在当前文档中选择带有特定名称的所有节点,例如选择所有author节点 | //author |
在当前文档中选择带有特定名称和特定父节点名称的所有节点,例如选择所有父节点是book,节点是author的节点 | //book/author |
选择值满足条件的节点,例如选择作者是吴承恩的book节点 | **//book[author=吴承恩 |
选择属性满足条件的节点,例如选择是title是红楼book节点 | **//book[@title= ‘红楼梦’] |
Xml解析
DOM : 基于文档(对象),树型结构,载入时整个载入(内存占用较大)
SAX : 基于流,载入时逐行载入(适合于大量数据的解析)
SAX 模式解析Xml
主要的构成类:
XmlReader(包含XmlTextReader 和 XmlNodeReader两个类)
- 只向前,非缓存的读取器,将XML数据作为流来处理。
- 内存需求并不是很大
- 没有灵活的导航需求
- 没有在基于DOM的模型中可用的读写功能
XmlWriter (包含Xml)
- 是一个为生成XML流提供“只向前,非缓存”方式的抽象类。
XmlTextReader:提供了对XML文件的快速,只向前的访问。XmlTextReader的技术类似于读取其他任何文件,先打开文件,读取文件,直至文件结尾,后关闭文件。
XmlTextReader newReader = new XmlTextReader("filename");newReader.Read(); //读取xml文件的下一个结点newReader.Read().XmlNodeType()//找到所需要的内容
XmlNodeType枚举的成员:
成 员 | 说 明 |
---|---|
Attribute | 属性,如id=“1” |
Comment | XML注释,如<!- - Some comment - -> |
Document | 文档对象,表示XML树的根 |
XmlDeclaration | 在文档顶部的XML声明 |
Element , EndElement | 开始元素和结束元素 |
Text | 元素的文本内容 |
Whitespace | 标记之间的空白 |
…… | …… |
…… | …… |
使用XmlTextWriter写XML文件的过程和文件系统写数据的情形相同。
1 打开或者创建一个文件。
2将数据写入文件中
3刷新数据流以确保提交每一个动作
4 关闭文件
XmlTextWrite的使用:
1创建一个xml文件
XmlTextWriter bookWriter = new XmlTextWriter(“C:\book.xml", Encoding.Default);
2写XML
创建XML声明
bookWriter.WriteStartDocument();
编写节点:
bookWriter.WriteStartElement(“Price”);
bookWriter.WriteString(“120”);
bookWriter.WriteEndElement();
或者
bookWriter.WriteElementString(" Price ", “120”);
添加属性
bookWriter.WriteStartElement(“Book”);
bookWriter.WriteAttributeString(“Title”, “三国演义”);
bookWriter.WriteEndElement();
3刷新数据流关闭文件
bookWriter.Flush();
bookWriter.Close();
Dom与Sax区别
文档对象模型DOM
DOM 读取整个XML文件并将该文件存储在一个树结构中。
DOM 创建表示原始文档中每个东西的对象,包括元素、文本、属性和空格。
DOM API 是解析 XML 文档非常有用的方法。
SAX解析
读取和操作 XML 数据更快速、更轻量。
SAX 在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。
适用于处理数据流,即随着数据的流动而依次处理数据。
总结
Xml
可扩展的标记语言
eXtensible Markup Language
以简单文本格式存储数据的方式
Xml结构
元素,属性,声明,注释
XML文档验证
DTD
Schema :XSD架构
Xml数据解析
文档对象模型-DOM
类似Sax:XmlTextReader, XmlTextWriter
Xml与Ado.Net交互
DataSet
ReadXml(“xml文件”)
WriteXml(" xml文件");
边栏推荐
- 使用宝塔部署halo博客
- Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation
- CTF竞赛题解之stm32逆向入门
- ASP.NET Core入门一
- CANN算子:利用迭代器高效实现Tensor数据切割分块处理
- Alibaba cloud award winning experience: build a highly available system with polardb-x
- Zhongang Mining: in order to ensure sufficient supply of fluorite, it is imperative to open source and save flow
- c#数组补充
- A data person understands and deepens the domain model
- SQL语言
猜你喜欢
干货整理!ERP在制造业的发展趋势如何,看这一篇就够了
Etcd 存储,Watch 以及过期机制
实时云交互如何助力教育行业发展
Database lock table? Don't panic, this article teaches you how to solve it
Flet教程之 03 FilledButton基础入门(教程含源码)(教程含源码)
Valentine's Day confession code
Annual comprehensive analysis of China's mobile reading market in 2022
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
爬虫练习题(一)
Talk about the design and implementation logic of payment process
随机推荐
阿里云有奖体验:用PolarDB-X搭建一个高可用系统
AI 绘画极简教程
实战:fabric 用户证书吊销操作流程
游戏启动后提示安装HMS Core,点击取消,未再次提示安装HMS Core(初始化失败返回907135003)
Apache服务器访问日志access.log设置
ArcGIS uses grid processing tools for image clipping
面向个性化需求的在线云数据库混合调优系统 | SIGMOD 2022入选论文解读
6 分钟看完 BGP 协议。
Backgroundworker usage example
Don't turn down, three sentences to clarify the origin of cross domain resource request errors
Reptile exercises (I)
Dgraph: large scale dynamic graph dataset
请问大佬们有遇到这个情况吗,cdc 1.4 连接MySQL 5.7 无法使用 timestamp
PostgreSQL 9.1 飞升之路
Is the main thread the same as the UI thread- Is main thread the same as UI thread?
Efficient! Build FTP working environment with virtual users
Iptables foundation and Samba configuration examples
CTF competition problem solution STM32 reverse introduction
二分查找的简单理解
Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example