LINQ TO XML如何查找某一节点

问题描述

各位好!我有一XML文档,如何定位到指定人员啊?我用下面语句得出的是空的啊。IEnumerable<XElement>query=fromeleinxe.Elements("DataProperty")where(ele.Attribute("propertyname").Value=="loginName"&&ele.Element("DataProperty").Value=="lisi")selectele;Stringxml=null;foreach(XElementeleinquery){xml=xml+e.ToString()+"n-------n";}MessageBox.Show(xml);<?xmlversion="1.0"encoding="UTF-8"?><DataPojotype="IEOrganizationInfo"version="1"isnull="false"valuecount="1"><DataPropertypropertyname="personArray"valuetype="10"isnull="false"length="1662"><DataPojotype="PersonInfoParam_All"version="1"valuecount="20"isnull="false"><DataPropertypropertyname="otypeName"valuetype="1"isnull="true"/><DataPropertypropertyname="birthday"valuetype="1"isnull="true"/><DataPropertypropertyname="per_sort"valuetype="1"isnull="false">2</DataProperty><DataPropertypropertyname="sex"valuetype="1"isnull="true"/><DataPropertypropertyname="ocupationName"valuetype="1"isnull="true"/><DataPropertypropertyname="accountId"valuetype="3"value="670869647114347"/><DataPropertypropertyname="secondOcupationName"valuetype="7"value=""isnull="false"length="0"/><DataPropertypropertyname="trueName"valuetype="1"isnull="false">张三</DataProperty><DataPropertypropertyname="discursion"valuetype="1"isnull="true"/><DataPropertypropertyname="familyPhone"valuetype="1"isnull="true"/><DataPropertypropertyname="officePhone"valuetype="1"isnull="true"/><DataPropertypropertyname="departmentName"valuetype="7"value=""isnull="true"length="0"/><DataPropertypropertyname="passWord"valuetype="1"isnull="false">123456</DataProperty><DataPropertypropertyname="staffNumber"valuetype="1"isnull="false">601404070621</DataProperty><DataPropertypropertyname="familyAddress"valuetype="1"isnull="true"/><DataPropertypropertyname="id"valuetype="3"value="-1570456924338502774"/><DataPropertypropertyname="identity"valuetype="1"isnull="true"/><DataPropertypropertyname="mobilePhone"valuetype="1"isnull="false"/><DataPropertypropertyname="email"valuetype="1"isnull="false">***@sina.com</DataProperty><DataPropertypropertyname="loginName"valuetype="1"isnull="false">zhangsan</DataProperty></DataPojo><DataPojotype="PersonInfoParam_All"version="1"valuecount="20"isnull="false"><DataPropertypropertyname="otypeName"valuetype="1"isnull="true"/><DataPropertypropertyname="birthday"valuetype="1"isnull="true"/><DataPropertypropertyname="per_sort"valuetype="1"isnull="false">3</DataProperty><DataPropertypropertyname="sex"valuetype="1"isnull="true"/><DataPropertypropertyname="ocupationName"valuetype="1"isnull="true"/><DataPropertypropertyname="accountId"valuetype="3"value="670869647114347"/><DataPropertypropertyname="secondOcupationName"valuetype="7"value=""isnull="false"length="0"/><DataPropertypropertyname="trueName"valuetype="1"isnull="false">李斯</DataProperty><DataPropertypropertyname="discursion"valuetype="1"isnull="true"/><DataPropertypropertyname="familyPhone"valuetype="1"isnull="true"/><DataPropertypropertyname="officePhone"valuetype="1"isnull="true"/><DataPropertypropertyname="departmentName"valuetype="7"value=""isnull="true"length="0"/><DataPropertypropertyname="passWord"valuetype="1"isnull="false">123456</DataProperty><DataPropertypropertyname="staffNumber"valuetype="1"isnull="false">601404070620</DataProperty><DataPropertypropertyname="familyAddress"valuetype="1"isnull="true"/><DataPropertypropertyname="id"valuetype="3"value="1306499082168780299"/><DataPropertypropertyname="identity"valuetype="1"isnull="true"/><DataPropertypropertyname="mobilePhone"valuetype="1"isnull="false"/><DataPropertypropertyname="email"valuetype="1"isnull="false">loisi@sina.com</DataProperty><DataPropertypropertyname="loginName"valuetype="1"isnull="false">lisi</DataProperty></DataPojo></DataProperty></DataPojo>

解决方案

解决方案二:
我就是想修改某个人员departmentName(部门名称)的内容。
解决方案三:
你这个xml烂透了……

时间: 2024-08-30 20:31:17

LINQ TO XML如何查找某一节点的相关文章

Linq to XML节点查找删除修改实现代码

本文并不对它的概念进行详细介绍,取而代之的是说说在.Net下怎么去操作XML文件.点一下题外话,XML是标准通用标记语言(SGML)的子集,可以跨平台运行,非常适合Web传输,在不同的编程语言(PHP.Java..Net等)里面都有广泛运用,所以对于XML的操作,将是你必须掌握的一门技术.   下面我们来看看XML文档是长什么样子的,这里将要以下图为例来进行说明.XML可以用来描述数据定义.类型等,它一般是被用作数据存储和数据传输. 图 一   用下面的方法可以生成上面xml的文件,生成一个xm

Linq To Xml学习 - 3.查询、更新、删除

Linq To Xml学习 - 3.查询.更新.删除 文章最后有该示例的XML文档. 查找具有特定属性的元素 XElement root = XElement.Load ("PurchaseOrder.xml"); IEnumerable address = from el in root.Elements("Address") where (string)el.Attribute("Type") == "Billing" s

Linq之Linq to XML

目录 写在前面 系列文章  linq to xml  总结 写在前面 在很多情况下,都可以见到使用xml的影子.例如,在 Web 上,在配置文件.Microsoft Office Word 文件(将word文档另存为xml文件,这也提供了一种通过操作xml,操作word的一种方式)以及数据库中,都可以看到 XML.而linq to xml提供了一种操作xml更便捷的方式. 系列文章 Linq之Lambda表达式初步认识 Linq之Lambda进阶 Linq之隐式类型.自动属性.初始化器.匿名类

C# LINQ to XML应用介绍_C#教程

W3C制定了XML DOM标准,.Net为了支持W3C的标准,从1.1版本开始就引入了XmlDocument类.我在前一篇博客中,介绍了如何使用XmlDocument类来对XML文档进行操作.后来 .Net又引入了LINQ,于是LINQ to XML也就应运而生,所以在.Net中,不仅可以用W3C XML DOM标准,还可以使用LINQ to XML来操作XML文档.下面就来简单介绍一下如何使用LINQ to XML. (一) 加载 加载XML比较常用的有三种方法: 复制代码 代码如下: pub

如何快速上手LINQ to XML

在我们的程序中,我们经常需要将一些系统的数据.信息保存在文件中,而不是保存在数据库中,在.NET中,我通常都是选择将这些系统的数据.信息保存在XML中. 操作XML的技术有很多种: 1)DOM(Document Object Model,文档对象模型),它为XML文档提供了一个标准的解析. 2)XPath和XSLT,它们提供了查询和格式化XML的功能. 3).NET框架中提供了一些对XML操作的类(在System.XML命名空间下). 4)LINQ to XML. 在我看来有了LINQ to X

Linq To Xml学习 - 2.LINQ to XML编程概述

LINQ to XML 类概述 XAttribute 类 XAttribute 表示一个 XML 属性. XCData 类 XCData 表示一个 CDATA 文本节点. XComment 类 XComment 表示一个 XML 注释. XContainer 类 XContainer 是适用于可能具有子节点的所有节点的抽 象基类.下面的类派生自 XContainer 类: XElement XDocument XDeclaration 类 XDeclaration 表示一个 XML 声明.XML

linq to xml复习

虽然linq to xml随着.net framework3.0一起发布N久了,但因为自己以前参考网上的代码封装了一个xml操作类(当时linq to xml还没出来,这个封闭工具类一直也用得很顺手),所以在项目中也几乎极少用linq to xml,最近业余时间学习silverlight,原来针对winform/webform开发写的一些工具库部分要作修改才能用于silverlight,懒得一一移植了,干脆直接用.net内置的得了,何况自己再写一个,也还是这些玩意儿,有现成的不用白不用,整理了一

解析linq to xml操作XML的示例分析_实用技巧

.Net中的System.Xml.Linq命名空间提供了linq to xml的支持.这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读写xml文档的关键方法.1. 使用linq to xml写xml:使用XDocument的构造函数可以构造一个Xml文档对象:使用XElement对象可以构造一个xml节点元素,使用XAttribute构造函数可以构造元素的属性:使用XText构造函数可以构造节点内的文本.如下实例代码: 复制代码 代码如下: cla

Linq 解决 XML读写实例

Linq To XML的核心类XElement,一个XElement表示一个节点,new XElement("Order"),创建一个名字为Order的标签,调用Add增加子节点,也是XElement 对象! 下面是几种LINQ操作XML的常见形式. ///写文件(生成节点性质的)  代码如下 复制代码 XElement ePersons = new XElement("Persons");  XElement ptom = new XElement("P