您的位置:首页 > 编程语言 > C#

C#创建保存读取xml文件

2020-07-18 04:57 946 查看

写入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结点列表24
XmlNodeList repList = comList[0].ChildNodes;

上面代码创建的xml文件部分如图所示,其中com有24个,repeater有30个

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: