30天C#基础巩固----查找XML文件元素
一:XML文档
了解xml文档。
利用代码来创建XML文档。
- //引用命名空间+using System.Xml;
- XmlDocument xdoc=new XmlDocument();
- XmlDeclaration xdec = xdoc.CreateXmlDeclaration("1.0",
- "gb2312",null); //设置版本信息
- xdoc.AppendChild(xdec);
- //设置节点root
- XmlElement xele = xdoc.CreateElement("root");
- xdoc.AppendChild(xele);
- //设置节点的属性id;
- XmlAttribute xatt = xdoc.CreateAttribute("id");
- xatt.Value = "ahui"; //id=ahui;
- //设置节点的文本内容。
- XmlText xtText = xdoc.CreateTextNode("aaaaaaaa");
- xele.AppendChild(xtText); //文本加入root节点下面。
- xele.Attributes.Append(xatt); //属性id加入root属性下。
- xdoc.Save("1.xml"); //保存xml文件。
---->Linq To Xml
- //引用命名空间,using System.Xml.Linq;
- XDocument Xdoc=new XDocument();
- XElement xele=new XElement("root","你好,世界");
- XAttribute xatt=new XAttribute("id","002");
- Xdoc.Add(xele);
- xele.Add(xatt);
- Xdoc.Save("2.xml");
--->XML 的查找
从xml文本中找到name=”张辉01”的,返回父节点。
- class Program
- {
- static void Main(string[] args)
- {
- #region 查找XML
- //读取本地的xml文件。
- XDocument xdoc = XDocument.Load("ahui.xml");
- List<XElement> xele=new List<XElement>();
- SearchElementsZhanHui(xdoc.Root,xele);
- foreach (XElement item in xele)
- {
- Console.WriteLine(item.Name);
- }
- Console.ReadKey();
- #endregion
- }
- /// <summary>
- /// 查找XML文档中的name=张辉01的。
- /// </summary>
- /// <param name="ele"></param>
- /// <param name="list"></param>
- public static void SearchElementsZhanHui(XElement ele,List<XElement> list )
- {
- //首先遍历ele的所有节点
- //ele.Elements()+按文档顺序返回此元素或文档的子元素集合
- foreach (XElement item in ele.Elements())
- {
- //判断这个元素是否为张辉01
- if (item.Name.LocalName=="name")
- {
- if (item.Value == "张辉01")
- {
- list.Add(item.Parent);
- }
- }
- //如果item里面还有子节点就递归。
- SearchElementsZhanHui(item,list);
- }
- }
- }
30天C#基础巩固----查找XML文件元素的更多相关文章
- C# XML基础入门(XML文件内容增删改查清)
前言: 最近对接了一个第三方的项目,该项目的数据传输格式是XML.由于工作多年只有之前在医疗行业的时候有接触过少量数据格式是XML的接口,之后就几乎没有接触过了.因此对于XML这块自己感觉还是有很多盲 ...
- 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题
首先 关于dom4j的API,有如下: 当然 其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...
- web.xml 文件配置01
web.xml 文件配置01 前言:一般的web工程中都会用到web.xml,方便开发web工程.web.xml主要用来配置Filter.Listener.Servlet等.但是要说明的是web. ...
- PHP读写XML文件的四种方法
PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...
- java使用dom4j解析xml文件
关于xml的知识,及作用什么的就不说了,直接解释如何使用dom4j解析.假如有如下xml: dom4j解析xml其实很简单,只要你有点java基础,知道xml文件.结合下面的xml文件和java代码, ...
- PowerShell技巧:使用XPath语法查询XML文件
[TechTarget中国原创] XML是存储结构化数据的一个很好的途径,但是想要让数据在其中发挥作用又会有些困难.每一种语言都有其特定方式来查询XML文件中的命名空间.元素及属性.PowerShel ...
- [转] web.xml文件详解
转自:http://www.cnblogs.com/hellojava/archive/2012/12/28/2835730.html 前言:一般的web工程中都会用到web.xml,web.xml主 ...
- SAX方式解析XML文件实例
books.XML文件: 书籍book.java实体类: public class Book { private String id; private String name; private Str ...
- MVC模式下xml文件的解析
第一次写blog,组织不当和出错的地方还请大家多担当哈. java操作xml文件的方式中用的较多的有四种,DOM.SAX.JDOM.DOM4J.除第一种外其余的三种我都有试过,这后三种方案中我选择用S ...
随机推荐
- [后端人员耍前端系列]AngularJs篇:使用AngularJs打造一个简易权限系统
一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多 ...
- 图解集合3:CopyOnWriteArrayList
初识CopyOnWriteArrayList 第一次见到CopyOnWriteArrayList,是在研究JDBC的时候,每一个数据库的Driver都是维护在一个CopyOnWriteArrayLis ...
- 使用SQL生成DateTime.Ticks
在项目中我需要使用到一个随机数(Random Number),该随机数将作为 Hashtable 中的 Key 用于唯一索引数据,所以需要保持单机唯一性. 同时该随机数还需要具备可排序性以便对数据进行 ...
- JavaScript使用DeviceOne开发实战(二) 生成调试安装包
生成调试安装包 首先需要说明的是,这个步骤并不是每次调试App都必须的,大部分情况生成一次调试安装包,安装到手机上之后就可以忽略整个这个步骤.因为调试安装包包含了很多原生组件,都是可以定制勾选的,如果 ...
- 关于Xcode5的离线帮助
关于Xcode的离线帮助文档,网上找到的许多都是Xcode4的资料,Xcode5貌似将文档搬到了Help菜单里,而不是原先的<Window> - <Organizer> - & ...
- 安装金山WPS2013造成的HTML5 file.type值异常
处理代码的兼容性是前端攻城师们的家常便饭了,一般是对各种浏览器进行兼容性处理.但是有时候我们也会遭遇到浏览器以外的影响因素,这个是经常会被忽视掉的内容.比如前几天就听说客户端安装迅雷.暴风影音等软件会 ...
- 区分各浏览器的CSS hack(包括360、搜狗、opera)
虽然说使用css hack来解决页面兼容性bug并不是个好办法,但是有时候这些hack还是用的着的,比如你接受了一个二手或是三手的遗留界面,杂乱无章的css代码,只在某个浏览器下有兼容bug,而且需要 ...
- Git 远程仓库搭建
大名鼎鼎的git就不多做介绍了,总之.我们使用git来作为项目的一个版本控制工具,多人开发的项目的时候会轻松很多. 安装git whthomas@whthomas:~/workplace/gitOne ...
- IT传统组织结构及新型扁平化组织
如今互联网企业正凶猛的改变人们衣食住行的方方面面,衣->淘宝,蘑菇街;食->大众点评,口碑;住->去哪,途牛:行->12306, 多次听到互联网的同行介绍他们就是要“快”,快速 ...
- 说说设计模式~桥梁模式(Bridge)
返回目录 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度? ...