Xml学习笔记(1)

不同的xml文档构可能要用到不同的方法进行解析这里用到的是例如<student name="张三" id="1" sex="男"/>这样的结构进行的解析

#region Xml文件常用操作
XmlDocument doc = new XmlDocument(); //创建文档对象
doc.Load("Students.xml"); //加载文档
XmlElement root = doc.DocumentElement; //读取根节点XmlNode root = doc.DocumentElement

#region 使用Attributes读取属性值
foreach (XmlNode node in root.ChildNodes)
{
/*
* 通过node的Attributes属性
* 可以得到该节点的属性集合
* 通过索引或属性名可以拿到相应的值
* (因为Xml是区分大小写的所在在写属性名称要区分要小写)
*/
Console.WriteLine(node.Attributes["id"].Name + "=" + node.Attributes["id"].Value);
Console.WriteLine(node.Attributes["name"].Name + "=" + node.Attributes["name"].Value);
Console.WriteLine(node.Attributes["age"].Name + "=" + node.Attributes["age"].Value);
}
#endregion

#region 通过Read读取
Console.WriteLine("--------------华丽的分割线-----------------");
//XmlReader是抽象类
XmlReader xmlReader = XmlReader.Create("Students.xml");
while (xmlReader.Read())
{
/*
* XmlReader是按流式的读取
* 它是按元素进行读取的并不是按节点
* 所以一个节点至少要读取三次(开始标签,文本,结束标签)
* 每一个元素都有相应的元素类型NodeType他是一个枚举值XmlNodeType
* <Student>
* <Name id = "1">张三<Name/>
* <student/>
* 如果要读取属性要进行判断HasAttributes
* 然后MoveNextAttribute()
*
*/
switch (xmlReader.NodeType)
{
case XmlNodeType.Element:
if (xmlReader.HasAttributes)
{
while (xmlReader.MoveToNextAttribute())
{
Console.WriteLine(xmlReader.Name + "=" + xmlReader.Value);
}
}
break;
}
}
#endregion

时间: 2024-10-13 12:31:17

Xml学习笔记(1)的相关文章

XML学习笔记(五):使用 jdom和dom4j 解析XML

XML解析的详细分析与jaxp解析XML详见:XML学习笔记(四):使用 DOM和SAX 解析XML 一.JDom 1.创建XML文件: 1)Document类即代表整个XML文档,把生成的 Document 利用 XMLOutputter 类输出即可. 2)映射关系:元素:Element:属性:Attribute:注解:Comment:文本信息:Text: 3)注意:addContent()是追加,setContent()会覆盖. /** * 创建XML * * @throws IOExcep

xml学习笔记(1)

xml 学习笔记 XML : W3C 提供的可拓展的HTMl标签 作用 : 存储,配置 数据存储在XMl中,写好XML文件后要用程序去读取其中的数据,而读取程序的过程叫做解析. xml 的解析方式分为两种: dom (Document Objecct Model 文档对象模型) W3C组织推荐的解析模式 Sax (Simple API for Xml )是xml社区事实上的标准 ,几乎所有的XML解析器都支持它 XML 解析器: Crimson(sun ) Xerces(IBM) Aelfred

XML学习笔记之:XSLT &lt;xsl:variable&gt; 元素

声明:该笔记引自W3School! 1.<xsl:variable> 元素用于声明局部或全局的变量. 2.可以通过 <xsl:variable> 元素的内容或通过 select 属性,向变量添加值! 3.一旦设置了变量的值,就无法改变或修改该值! <xsl:variable name="name" select="expression"> <!-- Content:template --> </xsl:varia

xml学习笔记 6.XQuery

XQuery xml query 是一种专门用于xml半结构化数据的查询语言,是W3C的推荐的标准语言. XQuery是有一些SQL专家制定的,基本语法与sql语句非常相似.比xslt更加简单. FLOWR语句与select语句相对应,完成对xml数据的查询,筛选和排序.FLOWR是指FOR,LET,WHERE,ORDERBY,RETURN五种语句.其中可以使用XPATH路径表达式以及xpath中的内置函数,各种自定义的函数,和命名空间. for子句: for $b in doc("bib-de

XML From Action Script[AS中的XML学习笔记]

XML From Action Script XML 是 eXtensible Markup Language (可扩展标记语言)的缩写. E4X ECMAScript for XML 规范定义了一组用于处理 XML 数据的类和功能.这些类和功能统称为 E4X. ActionScript 3.0 包含 以下 E4X 类:XML. XMLList. QName 和 Namespace. E4X 包含了一些直观运算符(如点 (.) 和属性标识符 (@) 运算符),用于访问 XML 中的属性 (pro

XML学习笔记之XML的简介

最近,自学了一段时间xml,希望通过学习笔记的整理能够巩固一下知识点,也希望把知识分享给你们(描红字段为重点): XML(extensible Markup language):可扩展的标记语言,解决了HTML不可扩展的问题,其作用是保存或传输数据,它不像HTML(超文本标记语言)是用来显示数据的. 特点: 1.基于文本格式的: 2.标签没有被预定义,需要自定义: 3.用于保存或传输数据,不用来显示数据: 4.是元语言(可以通过这门语言开发其他语言). 文档结构: 1.最上面一行是文档的声明,注

XML学习笔记总结(一)

转载自孤傲苍狼 XML学习总结(一)——XML介绍 一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发布的XML1.0规范. 二.学习XML的目的 在现实生活中大量存在有关系的数据,如下图(图-1)所示 图-1 这样的数据如何交给计算机处理呢?,XML语言出现的根本目标在于描述上图(图1)那种在现实生活中经常出现的有关系的数据. 在XML语言中,它允许用户自定义标签.一个标签用于描述

XML学习笔记(2)--dom4j操作XML

1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析器)         DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象

疯狂XML学习笔记(7)-----------XML Schema

XML Schema 是基于 XML 的 DTD 替代者. XML Schema 可描述 XML 文档的结构. XML Schema 语言也可作为 XSD(XML Schema Definition)来引用. 您应当具备的基础知识 在继续学习之前,您需要对下面的知识有基本的了解: HTML / XHTML XML 以及 XML 命名空间 对 DTD 的基本了解 如果您希望首先学习这些项目,请在 首页 访问这些教程. 什么是 XML Schema? XML Schema 的作用是定义 XML 文档

xml学习笔记二(规则)

XML 的语法规则很简单,且很有逻辑.这些规则很容易学习,也很容易使用. 所有 XML 元素都须有关闭标签 在 HTML,经常会看到没有关闭标签的元素: <p>This is a paragraph <p>This is another paragraph 在 XML 中,省略关闭标签是非法的.所有元素都必须有关闭标签: <p>This is a paragraph</p> <p>This is another paragraph</p&g