zoukankan      html  css  js  c++  java
  • XML文档

    XML(Extensible Markuo Language)可标记扩展语言。它是一种以简单文本格式存储数据的方式,可以被任何计算机读取。

    XML文档里包含的元素都是可以自定义的。

    1、XML文档声明,在文档的最开始。<?xml version="1.0"?>,其中version指的是版本。目前只有两种选择:1.0(第一版)和1.1(第二版)。

    2、每个节点都是采用<node>……</node>的形式来定义。

    3、节点里面可以嵌套节点,但节点之间不允许重叠。因此在父节点的结束标记之前就必须结束所有子元素。

    XML名称空间,语法很简单<node xmlns:nsname="http://baidu.com"></node>这样就定义了一个名字为nsname,值为http://baidu.com的名称空间。在node节点的子节点中就可以运用这个名称空间,需要引用它,<nsname:subNode1></nsname:subNode1>。也可以使用默认名称空间<node xmlns="http://baidu.com"></node>这样这个节点里面的所有子节点都是默认属于这个名称空间的,除非添加不同的名称空间前缀显示指定。

    下面说说XML文档的操作。(用C#操作)

    首先是读取到目标xml文档:

    XmlDocument document = new XmlDocument();

    document.Load("xml文档路径");

    接着便可以对读取到的文件进行操作了,可以进行的操作有,选取节点,增加节点,删除节点等。

    选取:有两种方法SelectSingleNode(选取一个节点,多个的话,返回第一个)和SelectNodes(返回一个节点集合NodeList).

      xml节点的选择采用一种特殊的查询语言,XPath。常见的XPath操作有:document.DocumentElement.SelectNodes("xpath")

      1、选择当前节点                                                                                   .

      2、当前节点的上一层节点(父节点)                                                          ..

      3、在文档中选择所有名称为testNode的节点,不管他们的位置                          //testNode

      4、选取父节点名称为testNode本身名称为childNode的所有节点                        //testNode/childNode

      5、选取所有名称为testNode的节点,且他们的type属性值为 nodeClass             //testNode[@type='nodeClass']

          6、选取根节点testNode                                                                         /testNode

      7、选取文档中的所有节点                                                                        //*

      8、选取节点testNode的前两个子节点                                                        //testNode/*[postion()<3]

    添加节点:

    添加节点前首先要创建一个节点

    先创建一个节点,名称为book :XmlElement newBook=document.CreateElement("book");

    book节点下有个子节点,书名title:XmlElement newTitle=document.CreateElement("title");

    title里面包含的文本内容为professional C#:XmlText title = document.CreateTextNode("professional C#");

    book包含一个属性为page,值为100:XmlAttribute page = document.CreateAttribute("page");    page.value="100";

    现在将上述内容组成一个book节点 :newBook.AppendChild(newTitle);   newTitle.AppendChild(title);   newBook.Attributes.Append(page);

    得到的结果为<book page="100"><title>professional C#</title></book>

    然后将这个节点插入到xml文档中:   XmlElement root = document.DocumentElement;   

    root.InsertAfter(newBook,root.FirstChild);  //(InsertBefore,AppendChild都可以)

    document.Sava("xml文档路径");

    删除节点:

    RemoveAll:这个方法删除节点上的一个子节点,他还会删除节点上的所有属性,因为他把属性也看成是子节点

    RemoveChild:这个方法删除节点上一个子节点,返回从文档中删除的节点

    XmlNode book = root.LastChild;

    root.RemoveChild(book);

    document.Save("xml文档路径");

  • 相关阅读:
    javascript window.Event对象
    sql 命令
    ASP.NET 2.0实现防止同一用户同时登陆
    设计模式(抽象工厂模式)
    javascript幻灯片
    javascript window.open
    c# 注册表操作
    大话英语
    oracle 插入、合并、查询、聚合操作
    guy,mistake
  • 原文地址:https://www.cnblogs.com/huang1990/p/3671329.html
Copyright © 2011-2022 走看看