XML-Reader

C#笔记——7.序列化与反序列化

让人想犯罪 __ 提交于 2021-02-12 07:59:34
序列化与反序列化简介 : 序列化指将对象转换为字节流的过程,与之相反的便是反序列化,即将字节流转换为对象的过程。 .NET中进行对象序列化的几种方式 : 二进制序列化 :对象序列化之后是二进制形式的,通过System.Runtime.Serialization.Formatters.Binary命名空间下的BinaryFormatter类来实现序列化操作。 SOAP序列化 :对象序列化之后的结果符合SOAP协议,即可以使用SOAP协议传输,通过System.Runtime.Serialization.Formatters.Soap命名空间下的SoapFormatter类来实现序列化操作。 XML序列化 :将对象序列化为XML形式,可以通过位于System.Xml.Serialization命名空间下XmlSerializer类来实现,要读取XML中的数据可以直接使用XmlTextReader、XmlDocument、XPath, 也可以使用LINQ TO XML或者反序列化的方法从XML中读取数据。 Json序列化 :通过序列化将.net对象转换为JSON字符串,在.NET中操作JSON,可以使用 LitJson 或者 Json.NET ,也可以使用.NET内建的System.Runtime.Serialization.Json,相比较而言Json.NET功能更加强大一些,JSON

C# 基础知识系列- 14 IO篇 流的使用

主宰稳场 提交于 2020-10-27 16:49:45
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件、目录和路径的操作有了一定的了解。这一篇开始,给大家演示一下流的各种操作。以文件流为例,一起来看看如何操作吧。 注:之前更新了一篇《Spring Cloud 实战日记》,这是一个新的系列,有兴趣的小伙伴可以从我的账号首页进去看看。 1. 简单的IO流读写文件 先来看一部分代码: class Program { static void Main(string[] args) { var directory = Directory.GetCurrentDirectory(); var program = File.Open("../../../Program.cs", FileMode.OpenOrCreate); // program = File.Open("Program.cs", FileMode.OpenOrCreate); var buffers = new byte[1024];// 创建一个8k的缓存区 var list = new List<byte>(); while(true) { int length = program.Read(buffers, 0, buffers.Length); if(length <=0) { break; } list.AddRange

[转].Net Core Web应用发布至IIS后报“An error occurred while starting the application”错误

爷,独闯天下 提交于 2020-08-18 03:07:01
本文转自: http://www.cnblogs.com/TomGui/p/6438686.html An error occurred while starting the application. .NET Core X64 v4.1.1.0 | Microsoft.AspNetCore.Hosting version 1.1.0-rtm-22752 | Microsoft Windows 6.3.9600 报这个错,一脸懵逼,环境都按官方文档配置正确了,怎么办? 1.修改web.config文件,stdoutLogEnabled改为true,如下: < aspNetCore processPath ="dotnet" arguments =".\Dialysis.WebApi.dll" stdoutLogEnabled ="true" stdoutLogFile =".\logs\stdout" /> 补充一点,这个文件是在发布之后的文件里,如果没有单独配置发布文件。 就在\bin\Debug\netcoreapp1.1 里面,在根目录下有web.config文件。 注: 不在源文件的根目录下面。 另外,需 要手动建 这个 logs 文件夹 ,因为iis不会给你自动创建。 我出这个问题的原因也是因为项目在startup的时候没有读到 nlog.config这个文件导致的错误。

DataTemplate的后端用法(动态生成控件)

感情迁移 提交于 2020-08-09 12:40:42
定义控件可以使用 FrameworkElementFactory ,也可以使用 XmlReader FrameworkElementFactory的用法 为DataGrid添加一列,列的每个单元格包含修改、删除两个按钮 DataGridTemplateColumn dataGridTemplateColumn = new DataGridTemplateColumn(); dataGridTemplateColumn.Header = "操作"; dataGridTemplateColumn.Width = new DataGridLength(1, DataGridLengthUnitType.Star); //Grid分列 FrameworkElementFactory gridFactory = new FrameworkElementFactory(typeof(Grid)); FrameworkElementFactory col1 = new FrameworkElementFactory(typeof(ColumnDefinition)); FrameworkElementFactory col2 = new FrameworkElementFactory(typeof(ColumnDefinition)); col1.SetValue

C# 基础知识系列- 14 IO篇 流的使用

自闭症网瘾萝莉.ら 提交于 2020-05-05 11:25:45
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件、目录和路径的操作有了一定的了解。这一篇开始,给大家演示一下流的各种操作。以文件流为例,一起来看看如何操作吧。 注:之前更新了一篇《Spring Cloud 实战日记》,这是一个新的系列,有兴趣的小伙伴可以从我的账号首页进去看看。 1. 简单的IO流读写文件 先来看一部分代码: class Program { static void Main(string[] args) { var directory = Directory.GetCurrentDirectory(); var program = File.Open("../../../Program.cs", FileMode.OpenOrCreate); // program = File.Open("Program.cs", FileMode.OpenOrCreate); var buffers = new byte[1024];// 创建一个8k的缓存区 var list = new List<byte>(); while(true) { int length = program.Read(buffers, 0, buffers.Length); if(length <=0) { break; } list.AddRange

C# 基础知识系列- 14 IO篇 流的使用

点点圈 提交于 2020-05-05 11:20:40
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件、目录和路径的操作有了一定的了解。这一篇开始,给大家演示一下流的各种操作。以文件流为例,一起来看看如何操作吧。 注:之前更新了一篇《Spring Cloud 实战日记》,这是一个新的系列,有兴趣的小伙伴可以从我的账号首页进去看看。 1. 简单的IO流读写文件 先来看一部分代码: class Program { static void Main(string[] args) { var directory = Directory.GetCurrentDirectory(); var program = File.Open("../../../Program.cs", FileMode.OpenOrCreate); // program = File.Open("Program.cs", FileMode.OpenOrCreate); var buffers = new byte[1024];// 创建一个8k的缓存区 var list = new List<byte>(); while(true) { int length = program.Read(buffers, 0, buffers.Length); if(length <=0) { break; } list.AddRange

C# LINQ学习笔记五:LINQ to XML

[亡魂溺海] 提交于 2020-04-26 13:50:46
本笔记摘抄自: https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html ,记录一下学习过程以备后续查用。 一、生成xml 1.1创建简单的xml /// <summary> /// CreateXml类 /// </summary> public class CreateXml { /// <summary> /// 返回xml文件路径 /// </summary> public string Path { get { string path = @" ..\..\LinqToXml.xml " ; return path; } } /// <summary> /// 创建简单的xml并保存 /// </summary> public void CreateElement() { XDocument xdoc = new XDocument ( // 创建一个xml文档 // 设置该xml的版本为1.0,采用utf - 8编码,后面的yes表示该xml是独立的。 new XDeclaration( " 1.0 " , " utf-8 " , " yes " ), // 开始创建每个节点的,首先是Root节点,然后在Root节点中添加两个Item节点。 new XElement ( " Root " , new

C# LINQ学习笔记五:LINQ to XML

别等时光非礼了梦想. 提交于 2020-04-26 11:30:12
本笔记摘抄自: https://www.cnblogs.com/yaozhenfa/p/CSharp_Linq_For_Xml.html ,记录一下学习过程以备后续查用。 一、生成xml 1.1创建简单的xml /// <summary> /// CreateXml类 /// </summary> public class CreateXml { /// <summary> /// 返回xml文件路径 /// </summary> public string Path { get { string path = @" ..\..\LinqToXml.xml " ; return path; } } /// <summary> /// 创建简单的xml并保存 /// </summary> public void CreateElement() { XDocument xdoc = new XDocument ( // 创建一个xml文档 // 设置该xml的版本为1.0,采用utf - 8编码,后面的yes表示该xml是独立的。 new XDeclaration( " 1.0 " , " utf-8 " , " yes " ), // 开始创建每个节点的,首先是Root节点,然后在Root节点中添加两个Item节点。 new XElement ( " Root " , new

Java通过XSD(XML Schema)校验XML

六月ゝ 毕业季﹏ 提交于 2020-02-27 01:03:50
还有一个好帖: schema学习系列五: schema校验 1.准备好正确的XML文件a.xml <?xml version="1.0"?> <note> <name>Tom</name> <gender>male</gender> <age>16</age> <address>changjiang road</address> </note> 2.使用正确的XML文件自动生成XSD校验文件a.xsd,需要借助第三方jar包trang.jar,执行命令 java -jar trang.jar a.xml a.xsd <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="note"> <xs:complexType mixed="true"> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element ref="address"/> <xs:element ref="age"/> <xs:element ref="gender"/> <xs:element ref="name"/> </xs