zoukankan      html  css  js  c++  java
  • XML

    xmlreader,
    xmltextrear,
    xmlwriter
    xmlnode
    xmlnodelist
    xmlload
    xmldocment
    文档对象模型编程(DOM)
    1.读取xml节点
    1)XML文件中,她的数据表现形式有两种,主要表现为元素和属性两种形式。因此对XML文件进行读取也分两种读取方式,即元素读取和属性读取。
    childnodes,name,elment,getattribute,

    XMLFile.xml
    <books>
    <csharp>
    <bookname>21天学C#</bookname>
    <booknumber>111111</booknumber>
    <bookprice>1000</bookprice>
    </csharp>
    </books>
    2).
    web窗体

    pageload
    设计
    加button,双击添加下面代码
    加xml控件
    using system.xml;

    XmlDocment doc=new XmlDocment();//创建XmlDocument对象
    doc.Load(Server.MapPath("XMLFile.xml)");//加载文件
    Xml1.Document=doc;

    3).
    去掉xml控件
    加button
    XmlDocment doc=new XmlDocment();//创建XmlDocument对象
    doc.Load(Server.MapPath("XMLFile.xml)");//加载文件
    XmlNode node=doc.SelectSingleNode("books/csharp")//选择节点(books下的所有节点)
    string flag=node.["bookname"].InnerText;//读取节点属性值
    Response.Write(flag);//打印flag
    运行

    2.使用XmlDocment读取XML
    XmlDocment实现了DOM标准1和DOM标准2的核心推荐
    标准。
    XmlDocument可以称为是DOM树中所有节点的容器,或者也可以称作文档根。
    下面介绍使用XmlDocument读取XML根.很实用。
    注释掉上面代码,在PAGELODE加下面代码。
    XMLdocmument doc=new xmldocument();
    doc.load(server.mappath("XMLFile.xml"));
    //response.write(doc.outerxml);
    Lable1.text=doc.outerxml;

    3.使用XmlReader读取XML
    该类提供读取xml文件的功能。实际开发中,将XmlReader类与XmlReaderSet类配合使用,启用集合功能,

    创建控制台应用程序
    XmlReaderSetting xrs=new XmlReaderSetting();//
    xrs.IgnoreWhitespace=true;//忽略空白
    XmlReader xreader=XmlReader.Creat(@"c:\XMLFile.xml",xrs);
    xreader.MoveToContent();//跳到内容节点,而不是声明节点
    while(xreader.read())
    {//循环输出
    Console.WriteLine(xread.NodeType.ToString()+"值"+xreader.value);//类型值xxx
    }
    xreader.close();

    4 使用XPath检索XML
    这和从数据库中检索数据使用SQL类似,它是一种查询语言。XPath全称是XML路径语言。专门用来重DOM树中查询节点和节点集。

    xmldocument, navigate,exception,
    语法格式:
    / 从根节点开始选择,//选择任意位置相吻合的,“.”选择当前,“..”选择当前节的父节,“@”代表选择当前节的属性。
    “[运算符/条件/bool/通配符]”:设置筛选条件
    5 使用函数设置检索条件
    XPath中使用函数,设置数据检索条件。
    XPath中的函数
    节点集合 --接受node-set参数,返回参数集,或返回/提供有关节点集中特定节点的信息。

    字符串型--对字符串参数执行计算、格式化和处理

    bool--计算参数表达式,返回bool结果

    数值型--数值结果

    = != *


    6。查询XML文件的部分内容
    控制台
    static void quaeryxml()
    {
    XPathDocument doc=new XPathDocument(@“XMLFile.xml ”);//文件路径

    string xpathquery="/books/csharp/bookname[@enname='21day'][contains(text(),21)]";//属性值:21day,包含文本‘21’

    //使用
    XPathNavigator xpathnav=doc.CreateNavigator();//创建类XPathNavigator的实例
    //经过类XPathNavigator的实例编译xpathnav表达式,之后返回XPath表达式对象的实例
    XPathExpression xpathexpr=xpathnav.Compile(xpathquery);
    XPathNodeIterator xpathiter = xpathnav.Select(xpathexpr)//迭代处理
    //循环获取结果
    while(xpathiter.MoveNext())//判断是否有值
    {
    console.writeline(xpathiter.current.value);
    }

    }

    主方法中调用即可


    7 修改XML文档
    使用XmlDocument类修改、创建XML节点。
    DOM : Create()
    insert before/after
    appen
    1)为DOM节点创建属性
    创建标签属性,要先获取元素节点,并使用SetAttribute()将新的属性添加到属性集合。
    CreatAttribute()方法创建XmlAttribute类型的属性对象,XmlAttribute继承自XmlNode,他提供了属性和方法操作属性信息。

    ///////////增加节点//////////////////
    XmlDocument doc=new XmlDocument();
    doc.Load(@“c:\XMLFile.xml”);
    XmlElement book=doc.CreateElment("csharp");//book,创建元素
    XmlAttribute xatt=doc.CreatAttribute("level");//创建属性
    xatt.Value="3";//属性值是3
    book.SetAttributeNode(xatt);//增加属性
    doc.DocumentElement.appendChild(book);//增加节点
    doc.Save(@“c:\XMLFile.xml”);//保存//
    ////////////////////////////////////////////
    运行,查看XML文件是否有变化

    通过使用新节点替换节点来修改全部节点集
    此操作使用InnerXml属性完成,使用RemoveChild方法实现现有节点替换成新节点

    ////////////修改DOM节点//////////////////////
    XmlDocument doc=new XmlDocument();
    doc.Load(@“c:\XMLFile.xml”);
    string xpath="/books/csharp[@level='3']";//创建字符串变量,查找
    XmlNodeList xmlnodes;//创建NODELIST集合,定义变量
    xmlnodes=doc.SelectNodes(xpath);//查找符合条件的元素
    foreach(XmlNode xl in xmlnodes)//循环查找匹配值
    {
    xl.ChildNodes[0].Attributes["level"].Value="node";//修改属性值
    //还可以进行查询,移除等操作


    }

    /////////////////删除DOM节点////////////////
    RemoveAll方法移除当前节点的所有子级和属性,RemoveChild移除节点。
    属性移除
    RemoveAllAttribute,RemoveAttribute,RemoveAttrbuteAt


    ///////////////////////DataSet对象对XML文件的操作//////////////////////////


    DataSet是ASP.NET的主要组件,是从数据源中检索到数据缓存到内存中的一种形式。DataSet不但可以访问数据库,也可以访问XML文件。

    ReadXml()方法

    ///////////////////////////
    DataSet ds=new DataSet();
    ds.ReadXml("c:\XMLFile.xml");//读取数据
    //////////////////////////////////

    XmlDataDocument类,包括XML数据。

  • 相关阅读:
    【Java并发基础】安全性、活跃性与性能问题
    【Java并发基础】使用“等待—通知”机制优化死锁中占用且等待解决方案
    【NS-3学习】ns3-模拟基础:关键概念,日志,命令行参数
    【Java并发基础】死锁
    【Java并发基础】加锁机制解决原子性问题
    【Java并发基础】Java内存模型解决有序性和可见性问题
    【Java并发基础】并发编程bug源头:可见性、原子性和有序性
    【NS-3学习】ns-3模拟基础:目录结构,模块,仿真流程
    TCP和UDP的优缺点及区别
    七层协议与网络配置
  • 原文地址:https://www.cnblogs.com/yuhuameng/p/3675539.html
Copyright © 2011-2022 走看看