在开发中遇到调用接口范围XML格式结果情况,获取结果中我们需要的信息则可能需要这两种数据处理;

1、如何将xml字符串转换为xml对象,及查询想要的节点;

通过XmlDocument对象加载xml字符串,如下代码:

XmlDocument document = new XmlDocument();
document.LoadXml(xmlStr);
XmlNamespaceManager nsManager = new XmlNamespaceManager(document.NameTable);
nsManager.AddNamespace("mdm", "http://tempuri.org/");
XmlNode? xmlNode = document.SelectSingleNode("/mdm:DictionaryQueryResponse/mdm:Result/mdm:Members", nsManager);

在之前使用SelectSingleNode时,发现一直获取不到xml的xpath路径的节点,最终查询得知xml也存在命名空间的概念,路径要表明命名空间,才能查询到,上面代码中命名空间管理器nsManager ,添加了命名空间mdm,mdm对应的就是xml的命名空间http://tempuri.org/,每个路径前加上mdm表明xml中路径;

2、如何将xml字符串转换为c#对象,以list对象为例:

public static List<T> XmlToList<T>(string xml, string rootName) where T : class
{
XmlSerializer serializer = new XmlSerializer(typeof(List<T>), new XmlRootAttribute(rootName));
using (StringReader sr = new StringReader(xml))
{
List<T> list = serializer.Deserialize(sr) as List<T>;
return list;
}
}

方法如上,xml的根节点对应的就是方法参数rootName,XmlSerializer 实例反序列化为对象;

参考:

C#中SelectNodes找不到节点_没方向感的博客-CSDN博客_c# selectnodes

C#中读取XML文件方法_嘿嘿潶黑黑的博客-CSDN博客_c#读取xml文件

C# xml 转 list 对象 - 敌八哥 - 博客园 (cnblogs.com)

XmlNode.SelectSingleNode 方法 (System.Xml) | Microsoft Docs

C#读取XML字符串及将XML字符串反序列化为对象的更多相关文章

  1. Java序列化对象为字符串并将字符串反序列化为对象

    对象的序列化与反序列化其实就是将对象的状态保存下来,一般是保存到文件中,但是其实更常用的是将对象序列化为字符串保存到数据库中,然后在需要读取对象的情况下将字符串反序列化为对象.   可以序列化的类必须 ...

  2. 使用 dynamic 标记解析JSON字符串 JDynamic :支持Json反序列化为Dynamic对象

    使用 dynamic 标记解析JSON字符串  http://www.cnblogs.com/taotaodetuer/p/4171327.html 1 string jsonStr = " ...

  3. Android中序列化对象到XMl 和 XML反序列化为对象

    package com.example.xmloperation; import java.io.File; import java.io.FileOutputStream; import java. ...

  4. 序列化之对象,字符串,byte数组,XML之间的转换(一)

    工作一年多了,越来越感到自己不能这样一直下去,在最好的青春里面却已经死了.被时间消磨了意志,被工作杀死了精神.我想,我只要活着,我就要去不断的要求自己,不断的去追求更高的山峰. 放眼四周,有趣的灵魂越 ...

  5. JSON字符串反序列化成对象_部分属性值反序列化失败

    简介:本人在开发webapi接口时遇到了:一个复杂的Json字符串在反序列化为对象时报,无法发序列化其中的一个属性对象? 使用方法: InternalRecommendRequestFormModel ...

  6. Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示

    Delphi 读取 c# webservice XML的base64编码图片字符串转化图片并显示 在 开发中遇到应用c#及asp.net的在的webservice 保存图片并以xml文件形式现实出来 ...

  7. js 将XML字符串解析成XML文档 --- attribute construct error--- 空白字符与空格问题

    最近在做xml在线编辑器,遇到一个字符串解析成xml文档的问题,记录一下. 原始xml内容读取自xml文档 <label class="test" id="labe ...

  8. 一个可序列化的C#对象,如何转成一个XML格式的文件或字符串【转】

    原文:http://blog.csdn.net/otong/article/details/7894059 序列化或反序列化成一个字符串: 方法一: 序列化: public static string ...

  9. 字符串json转换为xml xml转换json

    原文:字符串json转换为xml xml转换json // To convert an XML node contained in string xml into a JSON string XmlD ...

  10. xml文件生成方式一(字符串拼接,将多实体类对象写入xml文件)

    1.xml文件生成,拼接字符串使用StringBuffer或StringBuilder 2.拼接好后写入文件即可,将多个实体类写入xml文件 3.这种方式比较简单,但是操作也比较麻烦 4.下面是我的代 ...

随机推荐

  1. 粉色的猫MISC(bugku)

    一  题目描述 ps:本题特别感谢树叶大佬给的一些提示以及WP!欢迎大家关注树木有点绿~~ 二 解题过程 下载附件得到zip压缩包 根据作者提示,压缩包注释应该为压缩包密码. 1.压缩包密码 一开始看 ...

  2. C++ 手动实现栈(stack) (课后作业版)

    栈,一种遵循先进先出原则的数据结构,可以用顺序表实现,也可以用链表进行实现. 这里我使用数组实现方法,包含了进栈,出栈,访问栈顶等功能,以及一些辅助功能. 栈Stack类定义如下: template ...

  3. 靶机练习4: SolidState

    信息收集阶段 全端口扫描,查询目标靶机开放端口和服务 sudo nmap -p- -n -v -sS --max-retries=0 172.16.33.35 进行服务版本扫描 nmap -p22,2 ...

  4. ubuntu18.04 安装 opencv(版本4.5.5) cmake(版本3.25)

    参考链接:安装cmake     https://blog.csdn.net/Man_1man/article/details/126467371   安装 opencv  https://blog. ...

  5. GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院

    GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 北京华人开创科技发展有限公司 技术交流15901092122岳峰 概 ...

  6. 第五章:用Python分析商品退单数据并找出异常商品

    文章目录 项目背景 获取数据 数据计算 统计次数 异常商品 源码地址 本文可以学习到以下内容: 使用 pandas 中的 read_sql 读取 sqlite 中的数据 获取指定的日期的周一和周日 使 ...

  7. vue项目埋点实践,使用img发送埋点数据

    埋点数据种类:1.按钮点击2.页面切换(具体数据内容根据实际需求再定义)埋点数据交互:采用img的默认下载功能,发送get请求,带上埋点数据(此处后期需要加上加密)发送频率:1.固定时间2.固定数据量 ...

  8. Java包机制 与Javados 命令

    package: 定义包 import  : 导入包 com.wang.test.* :点* 是导入当前包下的所有类 @author  :注释作者名 @version :注释版本号 @since    ...

  9. Vue 双向绑定

    devtools工具 使用devtools工具可以让你更加方便的查看到Vue实例中数据的变化. 在chorme商店搜索安装即可. 双向绑定 v-model 双向绑定一般都是与input家族进行绑定. ...

  10. 关于DVWA踩坑

    部署好DVWA开始欢天喜地用起来,结果有个问题,不管怎么设置这个安全等级,都显示为Impossible 原因也很显然 其实我并不太理解为什么这里要放在cookie里面,而且还放了两条. 处理方式也很明 ...