XML元素及相关属性应用

XmlReader: 类是一个提供非缓存的、只进只读访问的抽象基类。
XmlReader 类还定义了使您能够从 XML 提取数据或跳过不需要的记录的方法
  1. 属性
XmlDocument doc = new XmlDocument(); //XML对象
Node.ChildNodes //该结点的所有一级子节点
Node.ParentNode //该节点的父节点
Node.InnerText  //该节点下所有内容(所以子节点)的串联值
Node.Value  //获取该节点的value属性的值
  1. 方法
XmlNode logstatus = doc.SelectSingleNode("NewDataSet/TestSummary/Status");  //获取单个节点
Node.SelectSingleNode("");
XmlNodeList studentNodeList = doc.SelectNodes("/students/student");  //获取所有节点

  1. 使用
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace XmlExample
{
    class Program
    {
        static void Main(string[] args)
        {
            string xmlFilePath = @" ";
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlFilePath);
            //使用xpath表达式选择文档中所有的student子节点
            XmlNodeList studentNodeList = doc.SelectNodes("/students/student");
            if (studentNodeList != null)
            {
                foreach (XmlNode studentNode in studentNodeList)
                {
                    //通过Attributes获得属性名字为name的属性
                    string name = studentNode.Attributes["name"].Value;
                    Console.WriteLine("Student:" + name);
                    //通过SelectSingleNode方法获得当前节点下的courses子节点
                    XmlNode coursesNode = studentNode.SelectSingleNode("courses");
                    //通过ChildNodes属性获得courseNode的所有一级子节点
                    XmlNodeList courseNodeList = coursesNode.ChildNodes;
                    if (courseNodeList != null)
                    {
                        foreach (XmlNode courseNode in courseNodeList)
                        {
                            Console.Write("\t");
                            Console.Write(courseNode.Attributes["name"].Value);
                            Console.Write("老师评语");
                            //通过FirstNode属性可以获得课程节点的第一个子节点,LastNode可以获得最后一个子节点
                            XmlNode teacherCommentNode = courseNode.FirstChild;
                            //读取CData节点
                            XmlCDataSection cdata = (XmlCDataSection)teacherCommentNode.FirstChild;
                            Console.WriteLine(cdata.InnerText.Trim());
                        }
                    }
                }
            }
            Console.Write("\r\nPress any key to continue....");
            Console.Read();
        }
    }
}
string s="……"
XmlDocument doc = new XmlDocument();
doc.LoadXml(s);
XmlNode logstatus = doc.SelectSingleNode("NewDataSet/TestSummary/Status"); //只读单个Status节点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值