简介

本文主要介绍通过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相关推荐

  1. C#中读取带有Xmlns命名空间的XML文件

    XML文件格式如下: <?xml version="1.0" encoding="utf-8"?> <Resume xmlns="h ...

  2. XML——c#读取带命名空间的xml

    使用C#读取xml文件有三种常用的方式: 1.xmlDocument 2.XmlTextReader 3.Linq To Xml 但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xa ...

  3. Namespace(命名空间)的使用

    作者:飞刀 关于Namespace(命名空间)的使用常用<% @ Import Namespace="System.Data" %>,这是在引用M$为我们提供的Name ...

  4. 【C++ 语言】命名空间 ( namespace | 命名空间定义 | 命名空间嵌套 | 域作用符 | 与 include 对比 )

    文章目录 命名空间简介 自定义命名空间 自定义嵌套命名空间 域作用符 命名空间 与 include 区别 命名空间定义与使用完整代码 命名空间简介 命名空间 ( namespace ) : 1.命名空 ...

  5. 4 C++对C的加强之namespace命名空间

    namespace命名空间 1 C++命名空间基本常识 一 :和 1 C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的 ...

  6. 带命名空间的XML的dom4j应用转

    Element root = document.getRootElement();       List   recordenvlist = document.selectNodes("// ...

  7. R语言使用read.delim函数读取带分隔符的文本文件

    R语言使用read.delim函数读取带分隔符的文本文件 目录 R语言使用read.delim函数读取带分隔符的文本文件 #read.delim函数语法

  8. XML 命名空间(XML Namespaces)介绍以及节点读取方法

    XML 命名空间提供避免元素命名冲突的方法. 命名冲突 在 XML 中,元素名称是由开发者定义的,当两个不同的文档使用相同的元素名时,就会发生命名冲突. 这个 XML 文档携带着某个表格中的信息: & ...

  9. C++namespace命名空间

    C++namespace命名空间 namespace 命名空间 使用 命名空间别名 namespace 在C ++中使用命名实体之前,必须先声明它们,例如变量,函数和复合类型.程序中此声明发生的地方会 ...

  10. docker中不能读取带.环境变量的问题

    问题描述: 打包的docker镜像,启动时使用docker run -e 参数添加环境变量时,环境变量名称中包含".",有时能在环境变量里获取到,有时不能在环境变量里获取到; 由于 ...

最新文章

  1. 第一个spring boot应用
  2. 认真推荐8个功能强大的实用网站,备受好评!
  3. MapReduce简述、工作流程
  4. 基于USES_CONVERSION的W2A用法之CString转char
  5. Fiddler之如何通过浏览器输入链接地址修改页面返回数据的内容
  6. store 存取数据数组对象_如何从Firestore文档中获取对象数组
  7. [我的成长:8期]一晃又半年了
  8. 多浏览器判断,切换及使用
  9. 用XYNTService把Python程序变为服务
  10. bzoj2661: [BeiJing wc2012]连连看
  11. 一个员工经常找别人聊天,吾就知道他要走人了
  12. linux 多线程 pthread_create返回11,pthread_create返回11解决方法
  13. 基于php技术的Web的电子病历管理系统
  14. cs5460a c语言程序,CS5463程序,有图有程序,大虾来看看,欢迎拍砖!
  15. 韩国历史最悠久的银行推出全国区块链贷款平台
  16. Metasploit扫描3389
  17. android10及以上通话录音
  18. 云计算机短网址,最新官方新浪短网址生成API接口与在线短网址缩短工具分享
  19. win10更新至1909版本后,Primo Ramdisk失效的解决方案
  20. Tensorflow2.10 Object Detetcion安装教程

热门文章

  1. dede后台文章不能上传图片及缩略图的解决办法
  2. 谁在阻止RSS的普及??
  3. oracle秒级查询,oracle 中查询超过10秒以上的sql语句(性能优化)
  4. 在java中产生随机数_在Java中产生随机数的两个方法
  5. 编译redis-5.0.9报错zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录问题解决
  6. Linux中eclipse配置Maven,eclipse maven选项怎么配置settings
  7. Hibenate映射属性
  8. [渝粤教育] 西南科技大学 刑法学 在线考试复习资料(1)
  9. 线性模型第1讲:最小二乘法
  10. 深度学习系列(一)【人类语言处理--引言】