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上安装插件 使 ...
随机推荐
- 今天做php经典实例,发现,我是对的,面试官给我说错了
那是七月中下旬在乐元素公司面试,问了我问什么 $str = "Hellow {$res} world";这么写,我回答说 在字符串中插入复杂变量可以用花括号干起来把? 他告诉我 应 ...
- c++ 中文字符串处理方法
转自:http://hi.baidu.com/hehehehello/item/dcc44a4a6afc690e6dc2f08b C++处理中文的问题困扰我很久了.之前一旦遇到中文基本就投诸java怀 ...
- WatchKit Learning Resources
查看原文:http://leancodingnow.com/watch-kit-learning-resources/ WatchKit是Apple发布的用来开发Apple Watch应用的框架,本 ...
- SAP Connector 3.0 .Net 开发
在VS2010中使用控制台应用程序使用SAP Connector 3.0开发时,当程序运行到实例化RfcConfigParameters时报错 (RfcConfigParametersrefcon = ...
- C#调用Excel VBA宏
近日的一系列工作是做网站的营运维护,因此做了大量的支持工具.有Excel中写VBA的,也有直接C#做的工具.有时需要在C#中执行Excel VBA宏,甚至有时还需要在执行了VBA宏之后,获取返回值再进 ...
- 王立平--EditPlus激活码
注冊名:Free User 注冊码:6AC8D-784D8-DDZ95-B8W3A-45TFA
- 写一个自己定义进度颜色和圆形转动的ProgressBar(具体介绍)
先上图: 我们得自己定义ProgressBar的样式 <span style="white-space:pre"> </span><style nam ...
- centos 安装http协议的git server
1.服务器端安装httpd,git,gitweb等 1 #yum install httpd git git-daemon gitweb 2.服务器端初始化仓库 1 2 3 #mkdir -p /d ...
- ext2元数据结构
概述 本篇博客主要描述ext2文件系统中的各种典型元数据结构,其中包括文件系统级别的元数据,如超级块,块组描述符等,也包括文件级的元数据,如文件目录项,文件inode等. ex ...
- leetcode 题解:Binary Tree Inorder Traversal (二叉树的中序遍历)
题目: Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary ...