XML文件

1:什么是XML?

可扩展标记性语言,用于描述数据

2:【代码】输入以下xml格式,并生成bookstore.xml文件
<?xml version="1.0" encoding="utf-8"?>
  <bookstore>
   <book Type="必修课" ISBN="7-111-19149-2">
    <title>数据结构</title>
    <author>严蔚敏</author>
    <price>30.00</price>
   </book>
 <bookstore>

 static void Main(string[] args)
        {
            XmlDocument xmlDocument = new XmlDocument();
            XmlDeclaration declaration = xmlDocument.CreateXmlDeclaration("1.0", "utf-8", null);
            xmlDocument.AppendChild(declaration);
            XmlElement stu = xmlDocument.CreateElement("bookstore");
            xmlDocument.AppendChild(stu);
            XmlElement title = xmlDocument.CreateElement("title");
            title.InnerText="数据结构";
            XmlElement author = xmlDocument.CreateElement("author");
            author.InnerText = "严蔚敏";
            XmlElement price = xmlDocument.CreateElement("price");
            price.InnerText = "30.00";
            stu.AppendChild(title);
            stu.AppendChild(author);
            stu.AppendChild(price);
            xmlDocument.Save("E:\\新建文本文档.xml");
        }

3:创建XML文档对象的类,创建XML头的类,创建XML节点的类分别是哪个?

创建XML文档对象 XmlDocument 

创建XML头的类 XmlDeclaration

创建XML节点的类 XmlElement

节点添加方法,保存XML方法,加载XML方法,读取XML节点方法分别是?
节点添加 AppendChild()

保存XML Save()

加载XML Load()

读取XML节点  

            XmlNode node = doc.SelectSingleNode("xxx");
            foreach (XmlNode item in node.ChildNodes) { }

读取节点的值,读取节点属性的值?
            XmlNode node = doc.SelectSingleNode("xxx");//获取指定二层节点
            foreach (XmlNode item in node.ChildNodes) //在获取三层节点
            {
                book.Type = item.Attributes["Type"].Value;//读取节点属性的值
                book.ISBN = item.Attributes["ISBN"].Value;//读取节点属性的值
                book.title = item["title"].InnerText;    //读取节点的值
                book.author = item["author"].InnerText;  //读取节点的值
            }
06:将以下格式
<?xml version="1.0" encoding="utf-8"?>
  <bookstore>
    <book Type="必修课" ISBN="7-111-19149-2">
        <title>数据结构</title>
        <author>严蔚敏</author>
        <price>30.00</price>
   </book>
   <book Type="选修课" ISBN="7-12312-19149-2">
        <title>算法</title>
        <author>严蔚敏</author>
        <price>10.00</price>
   </book>
<bookstore>
转换成类 BookStore
有以下属性:List<Book> books;
Book类有以下属性:
Type,ISBN,title,author,price

            BookStore store = new BookStore();
            store.books = new List<Book>();
            XmlDocument doc = new XmlDocument();
            doc.Load(@"D:\\str.xml");
            XmlNode node = doc.SelectSingleNode("bookstore");
            
            foreach (XmlNode item in node.ChildNodes)
            {
                Book book = new Book();
                book.Type = item.Attributes["Type"].Value;
                book.ISBN = item.Attributes["ISBN"].Value;
                book.title = item["title"].InnerText;
                book.author = item["author"].InnerText;
                book.price = Convert.ToDouble(item["price"].InnerText);
                store.books.Add(book);
            }
 
            foreach (Book item in store.books)
            {
                                    Console.WriteLine(item.Type+"\t"+item.ISBN+"\t"+item.title+"\t"+item.price+"\t"+item.author);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值