C# 编写代码生成XML文件,并从XML中读取出数据

1.创建xml
public void CreateXml()
        {
            //创建一个XML文档对象
            XmlDocument doc = new XmlDocument();

            //声明XML头部信息
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "UTF-8", null);

            //添加进doc对象子节点
            doc.AppendChild(dec);

            //创建根节点
            XmlElement root = doc.CreateElement("位置");
            doc.AppendChild(root);

            //再创建根节点下的子节点
            XmlElement student = doc.CreateElement("attribute");

            //设置子节点属性
            student.SetAttribute("name","上下料");

            //子节点下再创建标记
            XmlElement one_X = doc.CreateElement("X");
            //<X>的内容
            XmlText xmlText1 = doc.CreateTextNode("21");//存储x的值
            //将内容添加到<X>标记
            one_X.AppendChild(xmlText1);
            //再将<X>标记添加到<上下料>标记的子节点下
            student.AppendChild(one_X);

            XmlElement one_Y = doc.CreateElement("Y");
            XmlText xmlText2 = doc.CreateTextNode("22");//存储y的值
            one_Y.AppendChild(xmlText2);
            student.AppendChild(one_Y);

            XmlElement one_Z = doc.CreateElement("Z");
            XmlText xmlText3 = doc.CreateTextNode("23");//存储z的值
            one_Z.AppendChild(xmlText3);
            student.AppendChild(one_Z);

            //最后把标记添加到根节点的子节点下
            root.AppendChild(student);

            //doc文档对象保存写入
            doc.Save("info.xml");
        }

2.读取XML中存储的数据

public void readXml()
        {
            //将XML文件加载进来
            XmlDocument doc = new XmlDocument();
            doc.Load("info.xml");
            //获取根节点
            XmlElement root = doc.DocumentElement;
            //获取子节点
            XmlNodeList pnodes = root.GetElementsByTagName("attribute");
            //使用foreach循环读出集合
            foreach(XmlNode node in pnodes)
            {
                string name = ((XmlElement)node).GetAttribute("name");
                string x = ((XmlElement)node).GetElementsByTagName("X")[0].InnerText;
                string y = ((XmlElement)node).GetElementsByTagName("Y")[0].InnerText;
                string z = ((XmlElement)node).GetElementsByTagName("Z")[0].InnerText;
                Console.WriteLine("位置:{0},x:{1},y:{2},z:{3}", name, x, y, z);
            }

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值