xml操作

using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace prjXml
{
    class Program
    {
        static void Main(string[] args)
        {
            //从无到有开始创建
            XmlDocument doc = new XmlDocument();
            //在创建xml文档的时候,不需要Load
            //文档还没创建呢,Load个辣子啊。
            //第一步考虑先创建Xml文档的声明
            //也就是下面一句
            //<?xml version="1.0" encoding="utf-8" ?>
            //这一句也是个节点,不过不是普通节点,
            //是个XmlDeclaration
            //创建这个家伙应该使用XmlDocument的
            //CreateXmlDeclaration方法。
            XmlNode declare = doc.CreateXmlDeclaration("1.0", "utf-8", "");
            //将定义加入xml文档中
            //必须使用XmlDocument的AppendChild方法。
            doc.AppendChild(declare);
            //创建根节点
            //根节点也是节点嘛。
            //但是传统的CreateNode方法太复杂了
            //使用createElement_x比较简单,并且
            //Element也是一种Node嘛。
            XmlNode root = doc.createElement_x("books");
            //然后加入xml文档中。
            //必须使用XmlDocument的AppendChild方法。
            //因为它是根节点,子节点就比较花哨了。
            doc.AppendChild(root);
            //添加一个子节点,要考虑的问题有:
            //节点名称,要将子节点添加到哪个
            //节点中,节点的内容,节点的属性等
            //先把子节点创建起来再说。
            XmlNode node1 = doc.createElement_x("book");
            //加入到某个节点的子节点集合中。
            //到这儿为止,我们只创建了两个真正的节点
            //一个是根节点root,另一个是node1,咱们
            //刚创建的节点,因为蛇不能吃自己的尾巴
            //所以我们将node1添加到root的子节点集合中
            root.AppendChild(node1);

            //咱们再做一个节点
            XmlNode node2 = doc.createElement_x("haha");
            //现在我们要把node2给挂到xml文档树中,
            //可选择的老爹就多了,现在有root和node1了
            //如果加到root中,那么node1和node2
            //就是兄弟节点了,如果加入到node1中,
            //node2就是node1的儿子,node2就是root的
            //孙子了。
            //兄弟
            root.AppendChild(node2);
            //儿子
            //node1.AppendChild(node2);

            //下来我们给node1的开始标记和结束标记中
            //写点玩意,简单了。
            node1.InnerText = "玩意";

            //给node2中添加一个属性“role”,
            //值为“玉皇大帝”
            //先创建属性节点
            XmlNode roleAttribute = doc.CreateAttribute("role");
            //给属性节点赋值
            roleAttribute.Value = "玉皇大帝";
            //加入到node2的属性集合中
            //node2.AppendChild(roleAttribute);
            //挂了,为嘛?!
            //属性不能作为子节点添加到节点中
            //一计不成再生一计。
            //node2.Attributes.Append(roleAttribute);
            //KAO,编译都通不过。
            //错误 2 参数“1”: 无法从“System.Xml.XmlNode”转换为“System.Xml.XmlAttribute” C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\prjAutoLogin1\prjAutoLogin1\Program.cs 77 37 prjAutoLogin1
            //难怪,虽然roleAttribute是个节点,
            //但人家的Attributes集合的Append方法
            //要的是Attribute,还好,Attribute是Node
            //的子类,好办,转一下就是了。
            node2.Attributes.Append(roleAttribute as XmlAttribute);

            //普通的xml文档中,无非是节点或属性嘛

            //最后来个保存嘛。
            doc.Save("book.xml");
            //打完收工,临时不扛铁牛。

        }
    }
}

 

转载于:https://www.cnblogs.com/happyliuliangyan/archive/2013/04/11/3014171.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值