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"?>

 

相关文章
|
7月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
|
XML 存储 C#
C#三十 Ado.net和XML
C#三十 Ado.net和XML
63 0
|
3月前
|
XML JSON 数据处理
C# 中的 XML 与 JSON 数据处理
在现代软件开发中,数据交换和存储需求日益增长,XML 和 JSON 成为最常用的数据格式。本文从 C# 角度出发,详细介绍如何处理这两种格式,并提供示例代码。对于 XML,我们介绍了读取、创建和写入 XML 文件的方法;对于 JSON,则展示了如何使用 Newtonsoft.Json 库进行数据解析和序列化。此外,文章还总结了常见问题及其解决方案,帮助开发者更好地应对实际项目中的挑战。
195 61
C# 中的 XML 与 JSON 数据处理
|
2月前
|
XML 存储 缓存
C#使用XML文件的详解及示例
C#使用XML文件的详解及示例
110 0
|
2月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
494 0
|
7月前
|
XML 存储 C#
C# xml文档反序列化记事
本文介绍了使用XmlSerializer进行XML序列化和反序列化的关键点。包括:1) 以独占方式读取XML文件以避免并发问题;2) 当元素名与类型名不一致时,可通过`[XmlArrayItem]`指定元素名,或创建继承自原始类型的子类;3) 处理DateTime反序列化错误,通过中间字符串属性转换;4) 提到了常用C#特性如`[XmlRoot]`, `[XmlElement]`, `[XmlAttribute]`, `[XmlIgnore]`和`[XmlArrayItem]`的作用。
|
7月前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
97 1
|
7月前
|
XML 存储 JSON
c#XML、JSON的序列化和反序列化,看完你就懂了
c#XML、JSON的序列化和反序列化,看完你就懂了
133 0
|
7月前
|
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 平台开发而创建。 作
328 2
|
7月前
|
XML C# 数据格式
c# 追加 数据至xml文件
c# 追加 数据至xml文件
46 0