写入xml文件,先引入包
using System.Xml;
创建xml文件并保存:
XmlDocument xmlDocu = new XmlDocument();XmlDeclaration Declarationn = xmlDocu.CreateXmlDeclaration(\"1.0\", \"utf-8\", null);XmlNode rootNodee = xmlDocu.CreateElement(\"root\"); //根节点xmlDocu.AppendChild(rootNodee);for (int i = 0; i < 24; i++){XmlNode NodeCom = xmlDocu.CreateElement(\"com\");XmlAttribute comNo = xmlDocu.CreateAttribute(\"ComNo\");comNo.Value = i.ToString();NodeCom.Attributes.Append(comNo);rootNodee.AppendChild(NodeCom);for (int j = 1; j < 31; j++){XmlNode NodeRep = xmlDocu.CreateElement(\"repeater\");NodeCom.AppendChild(NodeRep);XmlAttribute repNo = xmlDocu.CreateAttribute(\"repNo\");NodeRep.Attributes.Append(repNo);repNo.Value = j.ToString();for (int k = 1; k < 61; k++){XmlNode NodeFFU = xmlDocu.CreateElement(\"ffu\");NodeRep.AppendChild(NodeFFU);XmlAttribute ffuNo = xmlDocu.CreateAttribute(\"SetSpeed\");NodeFFU.Attributes.Append(ffuNo);if (k % 2 != 0){ffuNo.Value = ((k + 1) / 2).ToString();NodeFFU.InnerText = \"10000001\";}if (k % 2 == 0){ffuNo.Value = (k / 2).ToString();NodeFFU.InnerText = \"00101100\";}}}}xmlDocu.InsertBefore(Declarationn, xmlDocu.DocumentElement);xmlDocu.Save(@\"E:\\VS项目文件\\SimuModbus\\common\\03xml16.xml\"); //这里把保存的地址写死了,因为发现不写死似乎无法保存修改//xmlDocu.Save(\"03xml16.xml\"); //这里没有写死,直接保存到文件,在Debug中可以这样用
注意:要先添加一个03xml16.xml文件
读取xml文件
XmlDocument xmldoc = new XmlDocument();xmldoc.Load(@\"E:\\VS项目文件\\SimuModbus\\common\\03xml16.xml\");//xmldoc.Load(@\"03xml16.xml\");XmlNode rootnode = xmldoc.SelectSingleNode(\"root\");XmlNodeList comList = rootnode.ChildNodes; // com结点列表24XmlNodeList repList = comList[0].ChildNodes;
上面代码创建的xml文件部分如图所示,其中com有24个,repeater有30个