C#加载XML文件

1.首先设置测试xml文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup version="v4.0" sku=".NETFramework,Version=v4.8"> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup>

    <startup1> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
    </startup1>
</configuration>

2.在代码中加载到XmlDocument

3.第一个节点加载比较特殊,使用XmlDocument里面的SelectSingleNode方法

string ConfigPath = System.Windows.Forms.Application.StartupPath + "\\Config\\test.xml";   //配置文件的路径
            //加载到XmlDocument
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(ConfigPath);

            XmlNode xmlNode = xmlDoc.SelectSingleNode("configuration");
            XmlNodeList xmlNodeList = xmlNode.ChildNodes;    //这个不用也可以,直接循环xmlNode
            string tmp1 = xmlNode.Name;

            foreach (XmlNode xmlNode2 in xmlNodeList)
            {
                string tmp2 = xmlNode2.Name;
                string tmp3 = GetAttribute(xmlNode2, "sku");
                string tmp4 = GetAttribute(xmlNode2, "version");
            }

4.GetAttribute方法就是简单的键值对获取属性值:return xmlNode.Attribute[attributeName].value;

注意:使用Application.StartupPath要添加引用:System.Windows.Form; 再添加命名空间

补充:

        1.获取根节点可以使用:XmlNode rootNode = xmlDoc.DocumentElement;        //xmlDoc是对象XmlDocument的实例;

        2.加载形式如:”<name>梨花1</name>“

                使用:xmlNode.InnerText

------------------------------------------------------------XML读取器---------------------------------------------------

可以自动读取结点,可以用这个方法读版本信息等,适合简单少量的读取

XML中任意合法的位置添加版本信息

<DataInfo>
		<Version vNo="1.2" pTime="2023-10-10">版本信息</Version>
	</DataInfo>

1.创建XML读取器:XmlTextReader tReader = new XmlTextReader(”xml文件的路径“);    (2022版的vs没有这个的智能提示)

2.使用While循环tReader.Read(), 使用tReader.Name判断节点名,tReader.GetAttribute(键名)获取值名

样例:

XmlTextReader tReader = new XmlTextReader("D:\\02XMLDemo\\XMLFile1.xml");
           
            string info = String.Empty;

            while (tReader.Read())
            {
                if (tReader.Name == "Version")
                {
                    info += tReader.GetAttribute("vNo") + "---" + tReader.GetAttribute("pTime");
                }
            }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值