ASP.NET - 使用 XML

对XML文件进行简单的增加,删除,修改,查看等功能。

XML代码:

<?xml version="1.0" encoding="UTF-8"?>
<books>
 <book>
  <name>哈里波特</name>
  <price>10</price>
  <memo>这是一本很好看的书。</memo>
 </book>
 <book id="B02">
  <name>三国演义</name>
  <price>10</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B03">
  <name>水浒</name>
  <price>6</price>
  <memo>四大名著之一。</memo>
 </book>
 <book id="B04">
  <name>红楼</name>
  <price>5</price>
  <memo>四大名著之一。</memo>
 </book>
</books>  

C#代码:

using System;
using System.Xml;

namespace XMLDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlElement theBook = null, theElem = null, root = null;
            XmlDocument xmldoc = new XmlDocument();
            try
            {
                xmldoc.Load(@"C:\Users\HF_Ultrastrong\Desktop\WFA_Test\XMLDemo\Books.xml");
                root = xmldoc.DocumentElement;

                //---  新建一本书开始 ----
                theBook = xmldoc.CreateElement("book");
                theElem = xmldoc.CreateElement("name");
                theElem.InnerText = "新书";
                theBook.AppendChild(theElem);

                theElem = xmldoc.CreateElement("price");
                theElem.InnerText = "20";
                theBook.AppendChild(theElem);

                theElem = xmldoc.CreateElement("memo");
                theElem.InnerText = "新书更好看。";
                theBook.AppendChild(theElem);
                root.AppendChild(theBook);
                Console.Out.WriteLine("---  新建一本书开始 ----");
                Console.Out.WriteLine(root.OuterXml);
                //---  新建一本书完成 ----

                //---  下面对《哈里波特》做一些修改。 ----
                //---  查询找《哈里波特》----
                theBook = (XmlElement)root.SelectSingleNode("/books/book[name=‘哈里波特‘]");
                Console.Out.WriteLine("---  查找《哈里波特》 ----");
                Console.Out.WriteLine(theBook.OuterXml);
                //---  此时修改这本书的价格 -----
                //getElementsByTagName返回的是NodeList,所以要跟上item(0)。另外,GetElementsByTagName("price")相当于SelectNodes(".//price")。
                theBook.GetElementsByTagName("price").Item(0).InnerText = "15";
                Console.Out.WriteLine("---  此时修改这本书的价格 ----");
                Console.Out.WriteLine(theBook.OuterXml);
                //---  另外还想加一个属性id,值为B01 ----
                theBook.SetAttribute("id", "B01");
                Console.Out.WriteLine("---  另外还想加一个属性id,值为B01 ----");
                Console.Out.WriteLine(theBook.OuterXml);
                //---  对《哈里波特》修改完成。 ----

                //---  再将所有价格低于10的书删除  ----
                theBook = (XmlElement)root.SelectSingleNode("/books/book[@id=‘B02‘]");
                Console.Out.WriteLine("---  要用id属性删除《三国演义》这本书 ----");
                Console.Out.WriteLine(theBook.OuterXml);
                theBook.ParentNode.RemoveChild(theBook);
                Console.Out.WriteLine("---  删除后的XML ----");
                Console.Out.WriteLine(xmldoc.OuterXml);

                //---  再将所有价格低于10的书删除  ----
                XmlNodeList someBooks = root.SelectNodes("/books/book[price<10]");
                Console.Out.WriteLine("---  再将所有价格低于10的书删除  ---");
                Console.Out.WriteLine("---  符合条件的书有 " + someBooks.Count + "本。  ---");

                for (int i = 0; i < someBooks.Count; i++)
                {
                    someBooks.Item(i).ParentNode.RemoveChild(someBooks.Item(i));
                }
                Console.Out.WriteLine("---  删除后的XML ----");
                Console.Out.WriteLine(xmldoc.OuterXml);

                xmldoc.Save("books.xml");//保存到books.xml

                Console.In.Read();
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message);
            }

            Console.ReadKey();
        }
    }
}

效果:

时间: 2024-08-14 03:32:49

ASP.NET - 使用 XML的相关文章

ASP.NET中XML转JSON的方法

原文:ASP.NET中XML转JSON的方法 许多应用程序都将数据存储为XML的格式,而且会将数据以JSON的格式发送到客户端以做进一步处理.要实现这一点,它们必须将XML格式转换为JSON格式. XML转JSON代码 [csharp] view plaincopy private static string XmlToJSON(XmlDocument xmlDoc) { StringBuilder sbJSON = new StringBuilder(); sbJSON.Append("{ &

Asp.Net 读取xml文件中Key的值,并且过滤掉注释内容代码

/// <summary> /// 读取配置文件keys /// </summary> /// <returns></returns> public string _GetKeys() { string filename = Server.MapPath("/") + @"web.config"; XmlDocument xmldoc = new XmlDocument(); XmlReaderSettings set

Accessing and Updating Data in ASP.NET: Retrieving XML Data with XmlDataSource Control

XmlDataSource Basics The XmlDataSource control exists merely as a proxy for retrieving XML data, which can then be programmatically accessed or bound to a data Web control. To access XML data from an ASP.NET page using the XmlDataSource control, star

浅谈ASP.net处理XML数据

XML是一种可扩展的标记语言,比之之前谈到的html有着很大的灵活性,虽然它只是与HTML仅有一个字母只差,但两者有很大的区别. XML也是标记语言,所以它每个标签必须要闭合,而HTML偶尔忘了闭合也没有多大的影响(这里也不建议大家可以遗漏,好的书写规范还是要有的) 其次,XML作为一种可以说是纯文本吧,它的主要作用并不是可以直接显示在网页上,而是作为一种数据存储或者数据传输的工具而已.但凡提及到数据这个层面,XML便是很重要的,有的数据可以不用到SQL,ORACEL的尽量不要用大型的数据库,这

Asp.net中XML与DataSet、DataTable之间的转换

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Xml; using System.IO; using System.Web; namespace Utility { /// <summary> /// 把DataSet.DataTable.DataView格式转换成XML字符串.XML文件 /// </summary> public

asp.net读取xml方法

这个适合刚学asp.net的同学,大神直接略过好了,asp.net经常会有很多用到XML的地方,比如全国省市的联动,以及一些菜单读取等等都有xml的影子,直接贴代码,以便我以后用到的时候忘了,注释我写得很清楚了,不懂的可以留言. /// <summary> /// 读取城市列表 /// </summary> public void CityList() { StringBuilder sb = new StringBuilder(); XmlDocument xmldoc = ne

Asp.Net 操作XML文件的增删改查 利用GridView

不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="XmlManager.index" %> <!

asp.net操作xml

下面是xml文档内容: <content width="368" height="450" bgcolor="cccccc" loadercolor="ffffff" panelcolor="5d5d61" buttoncolor="5d5d61" textcolor="ffffff"> <page src="pages/01.jpg&qu

ASP.NET MVC XML绑定Action参数列表

昨天查看了 ASP.NET MVC 的生命周期,并没有找到类似的解决方案. 不过今天在 stackoverflow上找到了解决方案,没耐心的同学可以直接戳原文拷贝代码,原文地址:How to pass XML as POST to an ActionResult in ASP MVC .NET 看了外国同学的说明,才发现 MVC居然可以根据不同的请求 Content Type来选择 ValueProvider,这样提供了很好的扩展. MVC本身提供了 JsonValueProviderFacto

ASP.NET利用XML实现旗帜广告和Jquery制作旗帜广告。

一.编写ad.xml,将其放入add_Data中(放在Add_Data中的理由:1.使该XML文件在ASP.NET运行时自动获得对其的读取权限.同时可以防止在浏览器中被查看): <?xml version="1.0" encoding="utf-8"?><Advertisements><Ad> <ImageUrl>要显示图片的链接</ImageUrl> <NavigateUrl>点击图片是指向的