C#中XML基础用法
作者:张玉昊 发布时间:2023-08-05 17:12:34
标签:C#,XML,基础
什么是XML?
XML:可扩展标记语言。
XML的作用:
纯文本,兼容性强。
和HTML的区别:
xml: 主要用来处理、存储数据。无规定标签,可扩展。
html:对数据的显示和描述。 语法标签固定。
XML语法特点:
区分大小写。
只能有一个根节点。
标签成对出现。
属性用双引号。
没有预定标签,用什么写什么
文档声明:<?xml version=".." encoding="...">
注释: <!-- -->
CDATA: 原意文本 <![CDATA[..] ] >
xmldocument 操作:
class Program
{
static void Main(string[] args)
{
//实现xml的写入
//1、在内存中构建Dom对象
XmlDocument xmlDoc = new XmlDocument();
//增加文档说明
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", "yes");
xmlDoc.AppendChild(xmlDeclaration);
//增加根元素
// 创建根元素
XmlElement rootElement = xmlDoc.CreateElement("school");
xmlDoc.AppendChild(rootElement);
//3、增加子元素,接下来添加的子元素增加到rootElement节点下
XmlElement xmlClassElement = xmlDoc.CreateElement("class");
// 为class元素添加id属性
XmlAttribute attr = xmlDoc.CreateAttribute("id");
attr.Value = "x01";
xmlClassElement.Attributes.Append(attr);
rootElement.AppendChild(xmlClassElement);
//4、为class创建student节点。
XmlElement xmlStudentElement = xmlDoc.CreateElement("student");
// 为student元素添加sid 属性.
XmlAttribute studentAttr = xmlDoc.CreateAttribute("sid");
studentAttr.Value = "s011";
xmlStudentElement.Attributes.Append(studentAttr);
xmlClassElement.AppendChild(xmlStudentElement);
//student中增加name节点。
XmlElement xmlNameElement = xmlDoc.CreateElement("name");
xmlNameElement.InnerText = "天";
xmlStudentElement.AppendChild(xmlNameElement);
//2、将该Dom对象写入xml文件中
xmlDoc.Save("school.xml");
Console.WriteLine("ok");
}
}
以上方法可以用循环写入。
xdocument 操作。
class Program
{
static void Main(string[] args)
{
// 通过xdocument 写入文件
List<Person> list = new List<Person>();
list.Add(new Person() { Name = "Sam", Age = 18 });
list.Add(new Person() { Name = "Penny", Age = 20 });
// 1、 创建Dom对象。
XDocument xDoc = new XDocument();
XDeclaration xDec = new XDeclaration("1.0", "utf-8", null);
// 设置文档定义
xDoc.Declaration = xDec;
//2、创建根节点
XElement rootElement = new XElement("List");
xDoc.Add(rootElement);
//3、循环创建节点
for (int i = 0; i < list.Count; i++)
{
XElement PersonElement = new XElement("Person");
PersonElement.SetAttributeValue("id", (i + 1).ToString());
PersonElement.SetElementValue("Name", list[i].Name);
PersonElement.SetElementValue("Age", list[i].Age);
rootElement.Add(PersonElement);
}
xDoc.Save("List.xml");
Console.WriteLine("ok");
}
}
class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
class Program
{
static void Main(string[] args)
{
//读取XML文件。
XDocument document = XDocument.Load("List.xml");
XElement rootElement = document.Root;
Console.WriteLine("订购人:{0}",rootElement.Element("CustomerName").Value);
foreach (var item in rootElement.Element("Items").Elements("OrderItem"))
{
Console.WriteLine("商品名称:{0}",item.Attribute("Name").Value);
}
}
}
来源:https://www.cnblogs.com/zhangyuhao/p/10578943.html
0
投稿
猜你喜欢
- 本文讨论了Spring Data JDBC如何实现DDD中聚合根存储的设计思路,其中主要讨论了是不是每个实体都需要一个对应数据表,这种问题需
- 整型变量基本语法格式int变量名= 初始值;代码示例int a = 10;int表示变量的类型是一个整型。在 Java 中, 一个int变量
- 一、简介(1)、MySQL是一个关系型数据库系统,是如今互联网公司最常用的数据库和最广泛的数据库。为服务端数据库,能承受高并发的访问量。(2
- 近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具。由于平时主要是写Java代码,所以
- 出处:https://www.cnblogs.com/SunSpring作为初学者配置maven一般网上搜索。然后你就看到各种配置文件片段,
- 我已经很精简了,两篇(Spring Boot启动过程(一)、spring Boot启动过程(二))依然没写完,接着来。refreshCont
- Spring @Configuration 和 @Component 区别一句话概括就是 @Configuration 中所有带 @Bean
- 目录一、二叉树的顺序存储1.堆的存储方式2.下标关系二、堆(heap)1.概念2.大/小 根堆2.1小根堆2.2大根堆3.建堆操作3.1向下
- 概述在mvn clean install时,控制台各种报错,大概有:java:[8,52] 程序包com.xxx不存在java:[98,27
- 什么是面向对象Java语言是一个纯面向对象的语言,面向对象的语言不仅只有Java,包括C++,PHP等面向对象的编程思想简称 OOP(Obj
- 提示:IntelliJ IDEA以下简称IDEA;####IntelliJ IDEA 配置git:需要的材料:一、git.exe二、配置gi
- 利用apache ftp工具实现文件的上传下载和删除,具体如下1、下载相应的jar包 com
- 前言什么是语法糖?(语法糖就是像糖一样的语法…)语法糖(Syntactic sugar),又名糖衣语法,最早是由英国计算机科学家彼得·约翰·
- 一、@RestController 注解在 Spring Boot 中的 Controller 中使用 @RestController 注解
- 如何从容器中获取对象有时候在项目中,我们会自己创建一些类,类中需要使用到容器中的一些类。方法是新建类并实现ApplicationContex
- 错误Mybatis-Plus (简称MP) 是mybatis的一个增强工具,在mybatis的基础上只做增强不做改变,简化了开发效率。其实就
- 1. 简单说明嗨,大家好!今天给大家分享的是Mybatis-plus 插件的分页机制,说起分页机制,相信我们程序员都不陌生,今天,我就给大家
- java arrayList遍历的四种方法及Java中ArrayList类的用法package com.test;import java.u
- 本文实例为大家分享了Java操作MongoDB模糊查询和分页查询,供大家参考,具体内容如下模糊查询条件:1、完全匹配Pattern patt
- @Valid:@Valid注解用于校验,所属包为:javax.validation.Valid。① 首先需要在实体类的相应字段上添加用于充当