c# XML读取

简介: System.Xml 命名空间 https://msdn.microsoft.com/zh-cn/library/gg145036(v=vs.110).aspx   一、读取 1.通过 XmlDocument获取稳定内容 2.

System.Xml 命名空间

https://msdn.microsoft.com/zh-cn/library/gg145036(v=vs.110).aspx

 

一、读取

1.通过 XmlDocument获取稳定内容

2.通过XmlNodeList 找到节点数据

 

private void List_Click(object sender, RoutedEventArgs e)
        { 
            string xmlStr = getData(); StringBuilder rtn = new StringBuilder(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(xmlStr); XmlNodeList xmlNodeList = xmlDoc.GetElementsByTagName("root"); foreach (XmlNode xmlNode in xmlNodeList) { //家长节点 XmlNodeList childXmlNodes1 = xmlNode.ChildNodes; foreach (XmlNode childXmlNode1 in childXmlNodes1) { if (childXmlNode1.Name == "resultInfo") { //成员列表 XmlNodeList childXmlNodes2 = childXmlNode1.ChildNodes; foreach (XmlNode childXmlNode2 in childXmlNodes2) { if (childXmlNode2.Name == "NAME") { rtn.Append(childXmlNode2.InnerText); } } } } } }
private string getData() { return "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + @" <root> <resultInfo> <NAME>姓名</NAME> <SEX>性别</SEX> <error_msg> 成功!或者error:xxx </error_msg> <remark>备注</remark> </resultInfo> </root> "; }

 

读取方法扩充

public static LoginResponse GetLoginResponse(string xmlStr)
{
    LoginResponse response = new LoginResponse();

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.LoadXml(xmlStr);
    
    XmlNode errorNode = xmlDoc.SelectSingleNode("//Error");
     if (errorNode != null)
     {
         response.ResultErrorCode = (errorNode.SelectSingleNode("ErrorCode")).InnerText;
         response.ResultErrorText = (errorNode.SelectSingleNode("ErrorText")).InnerText;
         response.ResultErrorDescription = (errorNode.SelectSingleNode("ErrorDescription")).InnerText;
     } 
    
    return response;
}

数据:
<?xml version="1.0" encoding="UTF-8"?>
<RESULT>
<Error>
<ErrorCode>-1</ErrorCode>
<ErrorText>ErrorText</ErrorText>
<ErrorDescription>ErrorDescription</ErrorDescription>
</Error></RESULT>

 

二、设置

 

 

三、常见问题

 1.XmlDocument加载xml文件时,有中文可能会报错,提示配置错误?

因为编码问题造成的,解决方法:

修改XML头部为:<?xml version='1.0' encoding="GB2312"?>

 

相关文章
|
4月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
|
12月前
|
XML 存储 C#
C#三十 Ado.net和XML
C#三十 Ado.net和XML
52 0
|
4月前
|
XML 存储 C#
C# xml文档反序列化记事
本文介绍了使用XmlSerializer进行XML序列化和反序列化的关键点。包括:1) 以独占方式读取XML文件以避免并发问题;2) 当元素名与类型名不一致时,可通过`[XmlArrayItem]`指定元素名,或创建继承自原始类型的子类;3) 处理DateTime反序列化错误,通过中间字符串属性转换;4) 提到了常用C#特性如`[XmlRoot]`, `[XmlElement]`, `[XmlAttribute]`, `[XmlIgnore]`和`[XmlArrayItem]`的作用。
|
4月前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
84 1
|
4月前
|
XML 存储 JSON
c#XML、JSON的序列化和反序列化,看完你就懂了
c#XML、JSON的序列化和反序列化,看完你就懂了
76 0
|
4月前
|
XML 开发框架 .NET
C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService
## 第二部分:ADO.NET、XML、HTTP、AJAX、WebService #### 1. .NET 和 C# 有什么区别? .NET(通用语言运行时): ```c# 定义:.NET 是一个软件开发框架,提供了一个通用的运行时环境,用于在不同的编程语言中执行代码。 作用:它为多语言支持提供了一个统一的平台,允许不同的语言共享类库和其他资源。.NET 包括 Common Language Runtime (CLR)、基础类库(BCL)和其他工具。 ``` C#(C Sharp): ```c# 定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。 作
264 2
|
4月前
|
XML C# 数据格式
c# 追加 数据至xml文件
c# 追加 数据至xml文件
37 0
|
4月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
86 0
|
4月前
|
XML 存储 JSON
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
开发时经常会遇到需要保存配置的情况,最常见的实现方式是将对象序列化成Json,再写入文件并保存到本地磁盘。 本文将使用开源库**ApeFree.DataStore**来替换原有的对象存储过程,实现一个可以随意切换存储方式的对象存储方法。 ApeFree.DataStore是一款可配置的对象存储库,支持在不同平台/介质中对内存中的对象进行存储与还原(如本地存储、注册表存储)。支持配置序列化格式(如Json、Xml),支持配置压缩算法(如GZip、Defalte),支持配置加密算法(如AES、RSA)。
107 0
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
|
4月前
|
XML 存储 JSON
C# | JSON格式与XML格式互相转换
JSON格式与XML格式是目前互联网上使用最为广泛的数据交换格式之一,而两种格式各自有着自己的特点和优势。 在实际开发中,我们经常需要将数据在不同的系统或模块之间进行传递和转换,而JSON格式和XML格式的互相转换是一项非常基础和必要的技能。 同时,对于需要将数据存储在不同的介质中的应用场景,比如在移动端本地存储数据,或者在服务器端将数据保存到文件或数据库中,也需要将JSON或XML格式进行相应的转换。 因此,熟练掌握JSON与XML格式互相转换的方法对于开发人员来说是非常重要的。在本文中,我们将介绍常用的JSON和XML互相转换的方法及其实现。
90 0
C# | JSON格式与XML格式互相转换