今天瞎写的关于XML的一些。

using System;
using System.Windows.Forms;
using System.Xml;

namespace winformDemo
{
    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
        }
        //XmlDocument打开文档
        XmlDocument xc = new XmlDocument();
        /// <summary>
        /// 显示所有商品的名字
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = "";
            // xc.Load(写入要获取文档的路径)
            xc.Load("D:\\Text\\shopping.xml");
            //XmlNodeList xnl = xc.SelectSingleNode("shopping").ChildNodes;获取shopping下面的子节点放到集合里。
            XmlNodeList xnl = xc.SelectSingleNode("shopping").ChildNodes;
            //循环去取子节点
            foreach (XmlNode xn in xnl)
            {
                //获取商品名字。
                //this.textBox1.Text += xn.Attributes["id"].Value + "\r\n";
                foreach (XmlNode xnd in xn.ChildNodes)
                {
                    if (xnd.Name == "Shopname")
                    {
                        textBox1.Text += "商品名字:" + xnd.InnerText + "\r\n";
                    }
                }
            }
        }
        /// <summary>
        /// 显示所有商品信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            this.textBox2.Text = "";
            // xc.Load(写入要获取文档的路径)
            xc.Load("D:\\Text\\shopping.xml");
            //XmlNodeList xnl = xc.SelectSingleNode("shopping").ChildNodes;获取shopping下面的子节点放到集合里。
            XmlNodeList xnl = xc.SelectSingleNode("shopping").ChildNodes;
            //XmlNodeList xnl = xc.SelectSingleNode("/shopping/shop[last()]").ChildNodes;
            //XmlNodeList xnl = xc.SelectSingleNode("/shopping/shop[@id=2]").ChildNodes;
            //循环去取子节点
            foreach (XmlNode xn in xnl)
            {
                //取最后一条数据

//textBox2.Text += "商品名字:" + xn.InnerText + "\r\n";
                //获取所有商品的信息。
                textBox2.Text += "商品ID:" + xn.Attributes["id"].Value + "\r\n";
                textBox2.Text += "商品名字:" + xn.ChildNodes[0].InnerText + "\r\n";
                textBox2.Text += "商品价格:" + xn.ChildNodes[1].InnerText + "\r\n";
                textBox2.Text += "商品数量:" + xn.ChildNodes[2].InnerText + "\r\n";
            }
        }
        /// <summary>
        /// 读取所有信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            this.textBox3.Text = "";
            XmlReader reader = XmlReader.Create(@"D:\\Text\\shopping.xml");
            while (reader.Read())
            {
                switch (reader.NodeType)
                {
                    case XmlNodeType.Attribute:
                        for (int i = 0; i < reader.AttributeCount; i++)
                        {
                            reader.MoveToAttribute(i);
                            this.textBox3.Text += "属性:" + reader.Name + "=" + reader.Value + "\r\n";
                        }
                        break;
                    case XmlNodeType.Element:
                        this.textBox3.Text += "节点名称:" + reader.LocalName + "\r\n";
                        for (int i = 0; i < reader.AttributeCount; i++)
                        {
                            reader.MoveToAttribute(i);
                            this.textBox3.Text += "属性:" + reader.Name + "=" + reader.Value + "\r\n";
                        }
                        break;
                    case XmlNodeType.Text:
                        this.textBox3.Text += "节点内容:" + reader.Value + "\r\n";
                        break;
                }
            }
        }
        /// <summary>
        /// 添加信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            XmlWriter writer = XmlWriter.Create(@"D:\\Text\\goods.xml");
            writer.WriteStartElement("dog");
            writer.WriteAttributeString("color", "black");
            writer.WriteString("How can I be sure");
            writer.WriteEndDocument();
            writer.Close();
        }
    }
}

添加XML 是直接添加进去了,没有显示出来。所以不要重复点击,可以去文本里看。

总结的一些:
                        XML
xml:
    (超级标记语言)又称(可扩展标记语言)(简单的数据存储语言)(数据存储技术)
格式:
    gb2312,UTF-8;
数据库的存储是XML格式。
特点:
    跨平台、跨语言、跨系统、跨浏览器、节点名自定义、封闭、区分大小写、属性自定义、唯一根节点。
C#提供XML的对象和方法:
    XMLDocument(xml文档):(load(路径)、SelectSingleNode(获取根节点)、childNodes(子节点))
    XMLNodelist(节点集合):(XmlNodeList list=根节点下节点)
    XMLNode(节点):(属性:text、innerText、name、attributrs[]、value、childNodes)

时间: 2024-11-05 12:09:20

今天瞎写的关于XML的一些。的相关文章

bzoj1588: [HNOI2002]营业额统计 splay瞎写

最近各种瞎写数论题,感觉需要回顾一下数据结构 写一发splay冷静一下(手速过慢,以后要多练练) 用splay是最直接的方法,但我感觉离散一波应该可以做出来(没仔细想过) 现在没有很追求代码优美,感觉得先打的对打的快O(∩_∩)O 1 #include <bits/stdc++.h> 2 #define INF 1000000000 3 using namespace std; 4 int root,N,n,x; 5 int fa[100005],c[100005][2],a[100005];

IDEA中写MyBatis的xml配置文件编译报错的坑

IDEA中写MyBatis的xml配置文件编译报错的坑 说明:用IDEA编译工具在项目中使用Mybatis框架,编写mybatis-config.xml和Mapper.xml配置文件时,编译项目出现错误,错误提示为: xml中1字节的UTF-8序列的字节1无效 The cause of this is a file that is not UTF-8 is being parsed as UTF-8. It is likely that the parser is encountering a

攻占SSM之手写Mybatis的xml实现Dao层接口

上午写了一个简单的 从xml读取信息实例化一个Bean对象.下午就开始想mybatis是怎么通过xml文件来实现dao层接口的,一开始想直接用Class.forName(String name)然后调用getMethods的办法来得到Dao接口所有的方法Method,结果证明这对接口实没有用的,会报一个错误.于是想百度,但是百度的结果全是怎么配置mapper的..然后我又四处翻资料,终于找到一些办法.最后我还是用到了我自己封装的DButil 和 DataUtil两个类. 反正我是这么实现的,至于

C# XML 用控制台写出一个xml文件

1 代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Xml.Linq; 7 8 namespace ConsoleApplication8 9 { 10 11 class Program 12 { 13 static void Main(string[] ar

XML文件的写,集合XML序列化(写)。XML文件的读,递归遍历

XML文件:必须要有一个节点.检验xml文件,可以用浏览器打开,能打开表示对,否则错. 处理方法: DOM:XmlDocument文档对象模型 Sax(事件驱动,XmlReader) XmlSerializer(序列化):可以序列化一个类,一个泛型集合. Linq to XML:主要用到类:Xelement XDocument XAttribute    using System.Xml.Linq; 写一个XML文件: 学校,班级,学生(性别,年龄,年龄) 1 namespace W_R_XML

帮助小伙伴写的组装xml字符串类

1 import java.io.IOException; 2 import java.io.StringWriter; 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.Iterator; 6 import java.util.List; 7 import java.util.Map; 8 import java.util.Map.Entry; 9 import org.dom4j.Docu

vue+mui 瞎写的web乞丐版 postman

<html> <head> <link rel="stylesheet" href="../ajax_test/mui.min.css"> <script src="../ajax_test/vue.min.js"></script> <script src="../ajax_test/mui.min.js"></script> <scr

用XmlTextWriter写出的XML文件没有换行,用记事本打开XML文件的时候都写在了一行上,请问怎样加入换行!

public partial class Form1 : Form { private string songlocation = @"D:\codeDemo\xml\xmlText\xmlDemo.xml"; private string[] songlist = new string[] {"a","b","c" }; public Form1() { InitializeComponent(); } private vo

C#.NET 程序员的福利,自己写的一个XML操作类,可实现像jquery一样方便的xml操作,且不用专门去处理命名空间。

此工具是进入一家新公司之后实现的,主要是工作当中操作 xml 的时间太多,因为公司按任务计“工作量”,领导给我安排的时间远远不够完善此工具[悲哀的制度],虽然我也能直接在cs中直接中规中矩完成,但实在受不了那种重复和低效,所以此工具基础部分绝大部分时间是在家中加班完成,剩下应用于公司项目中之后,在公司改了一些BUG,差不多也用了半年多了,实在是很好用,现在也差不多稳定了,特分享出来,需要的直接拿去用吧,有BUG可以直接发消息给我沟通,不用谢.. 使用方法: x(filepath).Find("/