使用XLinq.XElement读取带Namespace(命名空间)的XML
简介
本文主要介绍通过XELemet去读取含有namespaces(xmlns)的XML,这也是偶然间发现这个问题的,一个群里的小伙伴突然问起这个,以此记录一下。
背景
一个XML文档可能包括来自多个XML词汇表的元素或属性,如果每一个词汇表指派一个命名空间,那么相同名字的元素或属性之间的名称冲突就可以解决。
举一个简单的例子来说,在一个订单的XML文档中需要引用到客户和所购买的产品,customer元素和product元素可能都有一个叫做id的子元素。这时候要引用id元素会造成名称冲突,但是如果将两个id元素放到不同的命名空间中就会解决这个问题。
示例代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq;namespace XElementReading {class Program{static string myxml =@"<root><one xmlns:a='http://cnkker.com'><a:oneone xmlns:b='http://taoqi.com.cn'><b:id>1</b:id><b:name></b:name></a:oneone><a:twotwo xmlns:b='http://www.qq.com'><b:id>2</b:id><b:name></b:name></a:twotwo></one></root>";static void Main(string[] args){var elem = XElement.Parse(myxml);XNamespace nsr = "http://cnkker.com";XNamespace nsy = "http://taoqi.com.cn";var t = elem.Element("one").Element(nsr + "oneone").Element(nsy + "id").Value;Console.WriteLine("Value of id within oneone: {0}", t); Console.ReadLine();}} }
转载于:https://www.cnblogs.com/CnKker/p/3729052.html
使用XLinq.XElement读取带Namespace(命名空间)的XML相关推荐
- C#中读取带有Xmlns命名空间的XML文件
XML文件格式如下: <?xml version="1.0" encoding="utf-8"?> <Resume xmlns="h ...
- XML——c#读取带命名空间的xml
使用C#读取xml文件有三种常用的方式: 1.xmlDocument 2.XmlTextReader 3.Linq To Xml 但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xa ...
- Namespace(命名空间)的使用
作者:飞刀 关于Namespace(命名空间)的使用常用<% @ Import Namespace="System.Data" %>,这是在引用M$为我们提供的Name ...
- 【C++ 语言】命名空间 ( namespace | 命名空间定义 | 命名空间嵌套 | 域作用符 | 与 include 对比 )
文章目录 命名空间简介 自定义命名空间 自定义嵌套命名空间 域作用符 命名空间 与 include 区别 命名空间定义与使用完整代码 命名空间简介 命名空间 ( namespace ) : 1.命名空 ...
- 4 C++对C的加强之namespace命名空间
namespace命名空间 1 C++命名空间基本常识 一 :和 1 C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的 ...
- 带命名空间的XML的dom4j应用转
Element root = document.getRootElement(); List recordenvlist = document.selectNodes("// ...
- R语言使用read.delim函数读取带分隔符的文本文件
R语言使用read.delim函数读取带分隔符的文本文件 目录 R语言使用read.delim函数读取带分隔符的文本文件 #read.delim函数语法
- XML 命名空间(XML Namespaces)介绍以及节点读取方法
XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突. 这个 XML 文档携带着某个表格中的信息: & ...
- C++namespace命名空间
C++namespace命名空间 namespace 命名空间 使用 命名空间别名 namespace 在C ++中使用命名实体之前,必须先声明它们,例如变量,函数和复合类型.程序中此声明发生的地方会 ...
- docker中不能读取带.环境变量的问题
问题描述: 打包的docker镜像,启动时使用docker run -e 参数添加环境变量时,环境变量名称中包含".",有时能在环境变量里获取到,有时不能在环境变量里获取到; 由于 ...
最新文章
- 第一个spring boot应用
- 认真推荐8个功能强大的实用网站,备受好评!
- MapReduce简述、工作流程
- 基于USES_CONVERSION的W2A用法之CString转char
- Fiddler之如何通过浏览器输入链接地址修改页面返回数据的内容
- store 存取数据数组对象_如何从Firestore文档中获取对象数组
- [我的成长:8期]一晃又半年了
- 多浏览器判断,切换及使用
- 用XYNTService把Python程序变为服务
- bzoj2661: [BeiJing wc2012]连连看
- 一个员工经常找别人聊天,吾就知道他要走人了
- linux 多线程 pthread_create返回11,pthread_create返回11解决方法
- 基于php技术的Web的电子病历管理系统
- cs5460a c语言程序,CS5463程序,有图有程序,大虾来看看,欢迎拍砖!
- 韩国历史最悠久的银行推出全国区块链贷款平台
- Metasploit扫描3389
- android10及以上通话录音
- 云计算机短网址,最新官方新浪短网址生成API接口与在线短网址缩短工具分享
- win10更新至1909版本后,Primo Ramdisk失效的解决方案
- Tensorflow2.10 Object Detetcion安装教程
热门文章
- dede后台文章不能上传图片及缩略图的解决办法
- 谁在阻止RSS的普及??
- oracle秒级查询,oracle 中查询超过10秒以上的sql语句(性能优化)
- 在java中产生随机数_在Java中产生随机数的两个方法
- 编译redis-5.0.9报错zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录问题解决
- Linux中eclipse配置Maven,eclipse maven选项怎么配置settings
- Hibenate映射属性
- [渝粤教育] 西南科技大学 刑法学 在线考试复习资料(1)
- 线性模型第1讲:最小二乘法
- 深度学习系列(一)【人类语言处理--引言】