C# 操作XML(C# 2.0 操作XML和Linq操作XML)

本文介绍了如何在C# 2.0中操作XML,展示了基本的XML处理代码,并进一步探讨了C# 3.5引入的Linq to XML的使用方法,通过代码示例对比两种方式的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C# 2.0操作XML

代码:
using System;
using System.Collections.Generic;

using System.Text;

using System.Xml;
using System.IO;

namespace SerialPortComm
{
    public class PortConfig
    {

        public PortConfig()
        {

        }
        ///
        /// 端口号
        ///
        public string PortName = "COM1";
        ///
        /// 波特率
        ///
        public string BaudRate = "9600";
        ///
        /// 数据位
        ///
        public string DataBits = "8";
        ///
        /// 校验位
        ///
        public string Paritys = "None";
        ///
        /// 停止位
        ///
        public string StopBits = "1";
        ///
        /// 握手协议
        ///
        public string HandShaking = "None";

    }

    public class SerialPortSetting
    {
        ///
        /// 文件路径
        ///
        public string FilePath = "config.xml";

        ///
        /// 构造函数
        ///
        ///
        public SerialPortSetting(string FileName)
        {
            FilePath = FileName;
            fileIsExist(FileName);
        }

        ///
        /// 增加端口配置
        ///
        ///
        public void AddSerialPort(PortConfig pConfig)
        {
            if (!Exist(pConfig.PortName))
            {

                XmlDocument xDom = new XmlDocument();
                xDom.Load(FilePath);
                XmlNode root = xDom.SelectSingleNode("SerialPorts");
                XmlElement xPortName = xDom.CreateElement("PortName");
                xPortName.SetAttribute("Id", pConfig.PortName);

                XmlElement xSubNode1 = xDom.CreateElement("BaudRate");
                xSubNode1.InnerText = pConfig.BaudRate;
                xPortName.AppendChild(xSubNode1);

                XmlElement xSubNode2 = xDom.CreateElement("DataBits");
                xSubNode2.InnerText = pConfig.DataBits;
                xPortName.AppendChild(xSubNode2);

                XmlElement xSubNode3 = xDom.CreateElement("Paritys");
                xSubNode3.InnerText = pConfig.Paritys;
                xPortName.AppendChild(xSubNode3);

                XmlElement xSubNode4 = xDom.CreateElement("StopBits");
                xSubNode4.InnerText = pConfig.StopBits;
                xPortName.AppendChild(xSubNode4);

                XmlElement xSubNode5 = xDom.CreateElement("HandShaking");
                xSubNode5.InnerText = pConfig.HandShaking;
                xPortName.AppendChild(xSubNode5);

                root.AppendChild(xPortName);//增加端口配置
                xDom.Save(FilePath);
            }

        }

        ///
        /// 删除端口配置
        ///
        /// 端口名称
        public void DelSerialPort(string portName)
        {

            XmlDocument xDom = new XmlDocument();
            xDom.Load(FilePath);

   &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值