一、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的名字。

最新文章

  1. ☀【JS】有效状态机
  2. DL动态载入框架技术文档
  3. easyui datagrid 单元格编辑 即见即所得,MVC菜单维护,扫描增加
  4. unknown filesystem type ‘iso9660’类型问题--Ubuntu
  5. 【caffe】Error parsing text-format NetParameter: ****:**:Expected string.
  6. 2016-2017-2 《Java 程序设计》课堂实践项目
  7. 2017-2018-1 20155306 mypwd的实现
  8. Java集合框架之四大接口、常用实现类
  9. Django笔记--模型
  10. 在可编辑div的光标下插入html
  11. 搭建WordPress 个人博客
  12. Android CPU类型及预定义的宏
  13. uboot处理dtb
  14. 怎样使用ZOL一键安装器下载中关村在线的源安装包
  15. (转载)WinformGDI+入门级实例——扫雷游戏(附源码)
  16. manifest.xml微擎系统模块的安装文件内容
  17. cxgrid多选删除
  18. 【jQuery系列之插件】jquery插件之jquery-validation
  19. jquery页面初始化控件时间
  20. Web测试实践--Rec 2

热门文章

  1. The source attachment does not contain the source for the file SignatureParser.class错误
  2. 【S16】了解如何把vector和string数据传给旧的API
  3. AJAX在Post中文的时候乱码的解决方法
  4. Android+Jquery Mobile学习系列(4)-页面跳转及参数传递
  5. php计算脚本执行时间
  6. HDU 4757 Tree 可持久化字典树
  7. UVA 12906 Maximum Score 排列组合
  8. 解决win7 64位中 魔方与TortoiseSVN的冲突解决【2014-02-10】
  9. centos 服务器配置(三) 之定时任务
  10. C#中listbox中选中多项,并删除