XML文件注意问题
一、Elements和Descendant
Elements 相当于root节点下的子节点,Desendant元素相当于root节点下的所有子节点(包括root.elments下个子节点也包括root.elments节点)。

XDocument xdoc = new XDocument(new XElement("stuList"));
xdoc.Root.Add(new XElement("Stu",new XAttribute("id",),
new XElement("name","张亮"),
new XElement("age",)),
new XElement( "Stu",new XAttribute("id",),
new XElement("name","张丽"),
new XElement("age",)),
new XElement( "Stu",new XAttribute("id",),
new XElement("name","张飞"),
new XElement("age",))
);
xdoc.Save("1.xml");
可以看得出生成的XML文件,节点Stu是XML文档根节点stuList.XElements()返回的元素,而stuList.Descendant()返回的是各个Stu和各个Stu节点下的name,age节点。
二、Name和localName
我们给根节点StuList加个命名空间,然后进行递归遍历查找xml中的节点如下图所示:
public static void SearchElementsZhao(XElement ele, List<XElement> list)
{
// 首先遍历ele的所有子节点
foreach (XElement item in ele.Elements())
{
// 判断这个元素的名字是不是name,如果是name看里面存储的是“赵晓虎”
if (item.Name.LocalName == "name")
{
if (item.Value == "张飞")
{
// 是我要的
list.Add(item.Parent);
}
} // 如果item里面还有子节点就递归
SearchElementsZhao(item, list);
}
就会发现item.Name返回的不只是item的Name,还返回了根节点的命名空间,而item.Name.localName返回的则是纯碎的item的名字。
XML文件注意问题的更多相关文章
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
- MyBatis2:config.xml文件
前言 前一篇文章,讲了MyBatis入门,讲到了MyBatis有两个基本的配置文件,一个用来配置环境信息,一个用来写SQL语句.前者我把它命名为config.xml,config.xml的内容是: & ...
- 3. 解析 struts.xml 文件
1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...
- Eclipse代码和xml文件的智能提示
一.代码智能提示 Windows → Preferences → Java→ Editor → Content Assist 将 Auto activation delay(ms): 改为 0 将 A ...
- node使用xml-writer生成本地XML文件实例
npm中xml-writer文档的链接地址:https://www.npmjs.com/package/xml-writer npm中的文档比较简单,而且生成本地xml文件的demo并不正确.本篇是对 ...
- xml文件解析(解析以后在RootTableViewController输出)
这是从美团弄得xml文件,地区和经纬度. 你点了地区以后 , 就可以查看经纬度 ,因为笔者懒, 有现成的文本框 , 所有偷懒了. 下面是一些枯燥的代码了 . #import <UIKit/UI ...
- iOS xml文件的解析方式 XMLDictionary,GDataXMLNode,NSXMLParser
iOS9之后,默认网络请求是https,所有我们要设置一下网络安全,具体设置如下 1.第三方类库 XMLDictionary 下载地址: https://github.com/nicklockwood ...
- java-w3c.document生成xml文件
案例 /** * 创建和写入xml * @param xmlrootname * @param waitConverList */ private void createAndWriterXML(St ...
- 使用sublime一键格式化XML文件
1 sublime简介 sublime是一款代码编辑和阅读软件,体积小,运行快,界面非常简洁漂亮.官方地址:https://www.sublimetext.com/ 2 在sublime上安装插件 使 ...
随机推荐
- iOS上传文件,有关http上传协议-RFC1867
以上是抓包HTML input file标签上传的内容 只要模拟上面http 的header跟body就可以成功. 整体说明: post 上传文件时,以在http body里面带参数,参数的格式,根据 ...
- NISSAN 尼桑 J1962 诊断座
J1962诊断座: J1962/16 ........ 常火线 +BATJ1962/ 8 ........ 点火开关打开信号 +IGNJ1962/ 5 ........ 发动机搭铁线; 逻辑地J1 ...
- 查看系统和PowerShell版本
查询PowerShell当前版本$psversiontable.BuildVersion.Major 查询Windows当前版本:[System.Environment]::OSVersion.Ver ...
- .net+mssql制作抽奖程序思路及源码
近期一直在研究数据库,刚好有个项目要做抽奖程序,恩,拿来练练手吧. 抽奖程序: 思路整理,无非就是点一个按钮,然后一个图片旋转一会就出来个结果就行了,可这个程序的要求不是这样的,是需要从数据库中随机抽 ...
- 《MySQL必知必会》读书笔记
一.了解MySQL 1.什么是数据库? 数据库是一种以某种有组织的方式存储的数据集合. 2.模式(schema):关于数据库和表的布局及特性的信息. 3. ...
- iOS开发——UI篇Swift篇&UISlider
UISlider override func viewDidLoad() { super.viewDidLoad() titleLabel.text = titleString // Do any a ...
- iOS 在类实现定义中声明成员变量的怪异方式
WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...
- 面试感悟----一名3年工作经验的程序员应该具备的技能 JAVA 必读书
http://www.cnblogs.com/xrq730/p/5260294.html#3470685 http://www.cnblogs.com/xrq730/p/4994545.html
- 用户环境配置文件/etc/profile
当用户在登录界面正确地输入用户名和密码后,系统就开始为用户构建一个可以使用的用户环境.用户环境包括用户使用的环境变量.快捷键设置及命令别名等.这些设置大多是通过运行全局用户配置文件/etc/profi ...
- 基于jQuery带图标的多级下拉菜单
之前为大家分享了很多导航菜单.今天我们要来分享一款很不错的jQuery左侧带小图标的多级下拉菜单,菜单是垂直的,每一个菜单项带有一个小图标,看起来非常专业.并且菜单支持无限极下拉,所以对各位Web开发 ...