XML
是一种可扩展标记语言(Extensible Markup Language, XML),可以用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
<books><book><author>张三author><price format="dollar">36.75price><pubdate>2022/09pubdate>book><pubinfo><publisher>台海出版社publisher><state>完成state>pubinfo>books>
1、 有且仅有一个根节点books
2、元素节点Node
之间是父子关系(书籍和作者)
或兄弟关系(价格和出版日期)
3、元素节点还可以拥有自己的属性,比如价格的属性format
格式(人民币/美元)。format
的属性值是dollar
.
4、根元素是books
, 下面的元素子节点有book
和pubinfo
; book中有元素节点price
,其中price 的值是36.75;price
有自己的属性format
, format的值是dollar.
DOM节点类型 | 对象 | 描述 |
Document | XmlDocument | 树中所有节点的容器。 |
DocumentFragment | XmlDocumentFragment | 包含一个或多个不带任何树结构的节点的临时袋 |
DocumentType | XmlDocumentType | 表示!DOCTYPE...节点 |
EntityReference | XmlEntityReference | 表示非扩展的实体引用文本 |
元素 | XmlElement | 表示元素节点 |
Attr | XmlAttribute | 元素的属性 |
注释 | XmlComment | 注释结点 |
Text | XmlText | 属于某个元素或属性的文本 |
实体 | XmlEntiry | 表示XML文档中的 !ENTIRY...声明 |
Notation | XmlNotation | 表示DTD中的声明表示法 |
使用下面的xml内容,保存到D:\books.xml
<books><book><author>张三author><price format="dollar">36.75price><pubdate>2022/09pubdate>book><pubinfo><publisher>台海出版社publisher><state>完成state>pubinfo>books>
加载xml文档,并读取结点内容打印出来
//创建 XmlDocument 对象XmlDocument xml = new XmlDocument();//加载文档xml.Load(@"D:\books.xml");//获取XML文档的根元素XmlElement docElement = xml.DocumentElement;Console.WriteLine("docElement is :" + docElement.LocalName);//获取根元素下的第一个子节点XmlNode bookNode = docElement.FirstChild;Console.WriteLine("bookNode is :" + bookNode.LocalName);foreach(XmlNode node in bookNode.ChildNodes){//遍历book中的节点Console.WriteLine("node is :" + node.LocalName);Console.WriteLine("node Text is :" + node.InnerText);}
运行结果输出:
docElement is :books
bookNode is :book
node is :author
node Text is :张三
node is :price
node Text is :36.75
node is :pubdate
node Text is :2022/09
XML文档的结构
1 有且仅有一个根节点
2 以开头
3 XML类似一个树形结构,结点之间关系可以是父子关系或兄弟同级关系
4 每个节点有自己的文本和属性,对应的属性也有属性值。
5 每个节点和属性都是我们自定义语言去描述的