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>-</ErrorCode>
<ErrorText>ErrorText</ErrorText>
<ErrorDescription>ErrorDescription</ErrorDescription>
</Error></RESULT>

二、设置

三、常见问题

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

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

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

c# XML读取的更多相关文章

  1. xml 读取递归算法

    xml 读取递归算法:

  2. paip.获取proxool的配置 xml读取通过jdk xml 初始化c3c0在代码中总结

    paip.获取proxool的配置  xml读取通过jdk xml 初始化c3c0在代码中  xml读取通过jdk xml 初始化c3c0在代码中.. ... 作者Attilax  艾龙,  EMAI ...

  3. Linq to XML 读取XML 备忘笔记

    本文转载:http://www.cnblogs.com/infozero/archive/2010/07/13/1776383.html Linq to XML 读取XML 备忘笔记 最近一个项目中有 ...

  4. Xml读取异常--Invalid byte 1 of 1-byte UTF-8 sequence

    xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence org.dom4j.DocumentException: Invalid byte 1 of 1-byte ...

  5. C#基础笔记---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  6. C#基础---浅谈XML读取以及简单的ORM实现

    背景: 在开发ASP.NETMVC4 项目中,虽然web.config配置满足了大部分需求,不过对于某些特定业务,我们有时候需要添加新的配置文件来记录配置信息,那么XML文件配置无疑是我们选择的一个方 ...

  7. 【BUG】xml读取异常Invalid byte 1 of 1-byte UTF-8 sequence

    来自http://blog.csdn.net/chenyanbo/article/details/6866941 xml读取异常Invalid byte 1 of 1-byte UTF-8 seque ...

  8. C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML

    using System; using System.Linq; using System.Xml.Linq; namespace Sample2 { class Program { static v ...

  9. winform,xml读取与写入

    创建两个xml文件,一个 xml做为模板配置项,另一个做为临时接收数据. private static string localPath = System.Environment.CurrentDir ...

  10. Open Xml 读取Excel中的图片

      在我的一个项目中,需要分析客户提供的Excel, 读出其中的图片信息(显示在Excel的第几行,第几列,以及图片本身). 网络上有许多使用Open Xml插入图片到Word,Excel的文章, 但 ...

随机推荐

  1. Delphi : 制作程序启动欢迎界面

    制作欢迎界面的代码,大家参考 登陆窗体命名為:loginform.找到工程文件(Project -> View Source),找到如下代碼部分:begin   Application.Init ...

  2. 一本通1642【例 2】Fibonacci 第 n 项

    1642: [例 2]Fibonacci 第 n 项 sol:挺模板的吧,经典题吧qaq (1) 1 0    *     1 1     =   1 1 1 0 (2) 1 1    *     1 ...

  3. gitlab 7.10.4 去除邮件认证

    $path/app/model/user.rb中 devise后面的confirmable

  4. 【BZOJ1078】[SCOI2008]斜堆(性质题)

    [BZOJ1078][SCOI2008]斜堆(性质题) 题面 BZOJ 洛谷 题解 考虑一下这道题目的性质吧.思考一下最后插入进来的数是什么样子的.首先因为它是最后插入进来的,所以一定是比某个数小,然 ...

  5. bzoj1008/luogu3197 越狱 (快速幂)

    算$m^n-m*(m-1)^{n-1}$,就是总的减去不越狱的,不越狱就每次都选一个和上一个不一样的

  6. 【纪中集训2019.3.27】【集训队互测2018】小A的旅行(白)

    题目 描述 ​ \(0-n-1\)的图,满足\(n\)是\(2\)的整数次幂, $ i \to j $ 有 $ A_{i,j} $ 条路径: ​ 一条路径的愉悦值定义为起点和终点编号的\(and\)值 ...

  7. 20145215《网络对抗》shellcode注入&Return-to-libc攻击深入

    20145215<网络对抗>shellcode注入&Return-to-libc攻击深入 Shellcode注入 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻 ...

  8. ubuntu 下 python模块 mysql-python安装(转)

    原文:http://www.cnblogs.com/51kata/p/5406468.html 直接运行如下命令 sudo pip install MySQL-python 报如下错误 xxx@ubu ...

  9. vue控制台报错

    1. TypeError: Cannot read property '_withTask' of undefined 这是因为引用找不到导致的,比如: <button @click='aaa' ...

  10. Linux之chkconfig命令

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...