zoukankan      html  css  js  c++  java
  • XmlDocument

     XmlDocument对象是用处理xml文件的。

    这里先介绍几个知识点。

    1.CDATA 不检测文本,因为和网页的跨站攻击一样,xml也存在转义的问题。在CDATA块内的数据会原样输出。

    2.XmlNode和XmlElement的区别,后者是前者的子类,前者包括的范围广,xml文档的所有节点都归宿XmlNode,

    只有文本节点才属于XmlElement。

    用法:

    1.Load 加载xml文档。

    2.LoadXml 加载xml文档,内部调用了Load方法。

    3.HasChildNode 判断是否有子节点。

    3.NodeChilds 拿到所有子节点。

    4.Name 节点的名称。

    5.value 节点的值。测试一直拿不到值,现在还不知道原因。

    6.innerText 节点下所有后代节点的文本。

    7.innerXml 节点下所节点。包括标签和文本。

    8.CreateElement 创建节点。

    9.AppendChild 追加节点,这里不能追加在根节点下,因为每个xml只能有一个根节点。

    10.DocumentElement 文档的根节点。

    11.SelectNodes 选择节点,这里得到的集合。

    12.SelectSingleNode 选择节点 会得到符合条件的第一个节点。

    13.通过各种节点的操作也能只拿到想要的节点。如ChildNodes、FirstNode、LastNode

    14.NodeType 节点的类型。这里列出了一点

    Attribute 属性 如id
    CDATA
    comment 注释部分
    document 根节点
    documentfragment 文档
    elemet 元素 如<item>
    endelement 结束元素 如</item>
    entity 实体声明
    entity 实体声明结束
    entityreference 对实体的引用 如&num;
    text节点的文本内容
    xmldeclaration 文档的声明部分 如<?xml version="1
    if (xmlDoc.NodeType==XmlNodeType.XmlDeclaration)

    经测试 :对于一个节点如<item>text</item>

    其中text为item的子节点。

    15.代码分析

    (1)写xml

    XmlDocument xml=new XmlDocument();//创建xml文档实例
    XmlDeclaration xmlDeclaration=xml.CreatrXmlDeclaration("1.0","utf-8","yes");//创建声明节点<?xml version='1' ?>
    //参数以此是版本号 编码格式 是否是独立的 官方提示版本号必须为1 xml.AppendChild(xmlDeclaration);//把声明节点加入xml文档 XmlElement rootElement
    =xml.CreateElemnet("order");//创建根节点 ,每个xml文档只能用于一个根节点 XmlNode node=xml.AppendChild(rootElement);//把根节点加入xml文档,返回值就是这个节点 XmlElement element =xml.CreateElemnet("child");//再使用xml对象创建XmlElement对象 node.AppendChild(element );//加入到根节点中 xml.Save("demo.xml");//保存

    (2)读xml文档

    通过Load方法加载一个xml文档。

    SelectNodes获取节点,

    HasChildren判断是否用于子节点

    通过XmlNode的各种属性获取各种需求的值

  • 相关阅读:
    磁盘 inodes 不足 Free inodes is less than 20% on volume
    记录一次Nginx使用第三方模块fair导致的线上故障排错
    xml 特殊字符 导致的 solr 数据导入异常
    Jenkins 定时备份插件 ThinBackup
    Elasticsearch 节点磁盘使用率过高,导致ES集群索引无副本
    Elasticsearch定时删除索引第二版
    js for in 获得遍历数组索引和对象属性
    js函数作用域
    django 1.11.1 连接MySQL
    angular 4 和django 1.11.1 前后端交互 总结
  • 原文地址:https://www.cnblogs.com/xiaoai123/p/6602521.html
Copyright © 2011-2022 走看看