20230718_082843 xml的解析 csharp

20230718_082843 xml的解析 csharp

什么是xml

XML是可扩展标记语言(Extensible Markup Language)的缩写,是一种用于标记电子文件使其具有结构性的标记语言。XML的设计宗旨是传输数据,而不是显示数据。XML标签没有被预定义,您需要自行定义标签。XML被设计为具有自我描述性,这意味着您可以使用XML文档来描述数据,而无需知道如何处理这些数据的计算机程序。

xml示例

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>

关键对象

在这里插入图片描述

使用示例

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace ConsoleApplication16
{
    class Program
    {
        static void Main(string[] args)
        {
            // 获取对象
            XmlDocument doc = new XmlDocument();
            doc.Load("test.xml");

            XmlNode root = doc.DocumentElement;
            Console.WriteLine(root);

            XmlNodeList nodeList = root.ChildNodes;

            foreach (XmlNode tempNode in nodeList)
            {
                Console.WriteLine(tempNode);
                Console.WriteLine(tempNode.Name);
                Console.WriteLine(tempNode.InnerText);
            }

            // 卡顿
            Console.ReadLine();
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C#中解析XML文件有两种方式:XmlDocument和XmlReader。 1. 使用XmlDocument解析XML文件 XmlDocument是一种基于树形结构的解析方式,可以将整个XML文档加载到内存中,然后通过操作节点的方式来访问XML文档中的数据。 以下是一个使用XmlDocument解析XML文件的例子: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("file.xml"); // 加载XML文件 XmlNodeList nodeList = xmlDoc.SelectNodes("//book"); // 选择所有book节点 foreach (XmlNode node in nodeList) { string title = node.SelectSingleNode("title").InnerText; // 获取title节点的文本内容 string author = node.SelectSingleNode("author").InnerText; // 获取author节点的文本内容 Console.WriteLine("Title: {0}, Author: {1}", title, author); } ``` 2. 使用XmlReader解析XML文件 XmlReader是一种基于流的解析方式,可以逐个节点地读取XML文档中的数据,不需要将整个XML文档加载到内存中。 以下是一个使用XmlReader解析XML文件的例子: ```csharp XmlReaderSettings xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.IgnoreWhitespace = true; // 忽略空白 xmlReaderSettings.IgnoreComments = true; // 忽略注释 using (XmlReader xmlReader = XmlReader.Create("file.xml", xmlReaderSettings)) { while (xmlReader.Read()) { if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "book") { string title = xmlReader.GetAttribute("title"); // 获取title属性的值 string author = xmlReader.GetAttribute("author"); // 获取author属性的值 Console.WriteLine("Title: {0}, Author: {1}", title, author); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值