- 浏览: 1536673 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
/**/
///
/根据元素的名称进行筛选(有命名空间)
//
XNamespace aw = "
http://www.adventure-works.com
";
//
XElement po = XElement.Load("PurchaseOrderInNamespace.xml");
//
IEnumerable<XElement> items =
//
from el in po.Descendants(aw + "ProductName")
//
select el;
//
foreach (XElement prdName in items)
//
Console.WriteLine(prdName.Name + ":" + (string)prdName);
/**/
///
/链接轴方法
//
XElement purchaseOrders = XElement.Load("PurchaseOrders.xml");
//
IEnumerable<XElement> names =
//
from el in purchaseOrders
//
.Elements("PurchaseOrder")
//
.Elements("Address")
//
.Elements("Name")
//
select el;
//
foreach (XElement e in names)
//
Console.WriteLine(e);
/**/
///
/链接轴方法,有时,当可能存在或不存在间隔上级时,您希望在特定的元素深度,检索所有的元素
//
XElement root = XElement.Load("Irregular.xml");
//
IEnumerable<XElement> configParameters =
//
root.Elements("Customer").Elements("Config").
//
Elements("ConfigParameter");
//
foreach (XElement cp in configParameters)
//
Console.WriteLine(cp);
/**/
///
/检索单个子元素
//
XElement po = XElement.Load("PurchaseOrder.xml");
//
XElement e = po.Element("DeliveryNotes");
//
Console.WriteLine(e);
/**/
///
/检索索性的集合
//
XElement val = new XElement("Value",
//
new XAttribute("ID", "1243"),
//
new XAttribute("Type", "int"),
//
new XAttribute("ConvertableTo", "double"),
//
"100");
//
IEnumerable<XAttribute> listOfAttributes =
//
from att in val.Attributes()
//
select att;
//
foreach (XAttribute a in listOfAttributes)
//
Console.WriteLine(a);
/**/
///
/检索单个属性
//
XElement cust = new XElement("PhoneNumbers",
//
new XElement("Phone",
//
new XAttribute("type", "home"),
//
"555-555-5555"),
//
new XElement("Phone",
//
new XAttribute("type", "work"),
//
"555-555-6666")
//
);
//
IEnumerable<XElement> elList =
//
from el in cust.Descendants("Phone")
//
select el;
//
foreach (XElement el in elList)
//
Console.WriteLine((string)el.Attribute("type"));
/**/
///
/检索属性值
//
XElement root = new XElement("Root",
//
new XAttribute("Attr", "abcde")
//
);
//
Console.WriteLine(root);
//
string str = (string)root.Attribute("Attr");
//
Console.WriteLine(str);
#endregion
基本查询
#region
基本查询
/**/
///
/查找具有特定属性的元素
//
XElement root = XElement.Load("PurchaseOrder.xml");
//
IEnumerable<XElement> address =
//
from el in root.Elements("Address")
//
where (string)el.Attribute("Type") == "Billing"
//
select el;
//
foreach (XElement el in address)
//
Console.WriteLine(el);
/**/
///
/查找具有特定子元素的元素
//
XElement root = XElement.Load("TestConfig.xml");
//
IEnumerable<XElement> tests =
//
from el in root.Elements("Test")
//
where (string)el.Element("CommandLine") == "Examp2.EXE"
//
select el;
//
foreach (XElement el in tests)
//
Console.WriteLine((string)el.Attribute("TestId"));
//
查询 XDocument 与查询 XElement
//
//
Create a simple document and write it to a file
//
File.WriteAllText("Test.xml", @"<Root>
//
<Child1>1</Child1>
//
<Child2>2</Child2>
//
<Child3>3</Child3>
//
</Root>");
//
Console.WriteLine("Querying tree loaded with XElement.Load");
//
Console.WriteLine("----");
//
XElement doc = XElement.Load("Test.xml");
//
IEnumerable<XElement> childList =
//
from el in doc.Elements()
//
select el;
//
foreach (XElement e in childList)
//
Console.WriteLine(e);
//
Console.WriteLine("Querying tree loaded with XDocument.Load");
//
Console.WriteLine("----");
//
XDocument doc = XDocument.Load("Test.xml");
//
IEnumerable<XElement> childList =
//
from el in doc.Elements()
//
select el;
//
foreach (XElement e in childList)
//
Console.WriteLine(e);
//
//
查找具有特定元素名称的子代
//
XElement root = XElement.Parse(@"<root>
//
<para>
//
<r>
//
<t>Some text </t>
//
</r>
//
<n>
//
<r>
//
<t>that is broken up into </t>
//
</r>
//
</n>
//
<n>
//
<r>
//
<t>multiple segments.</t>
//
</r>
//
</n>
//
</para>
//
</root>");
//
IEnumerable<string> textSegs =
//
from seg in root.Descendants("t")
//
select (string)seg;
//
string str = textSegs.Aggregate(new StringBuilder(),
//
(sb, i) => sb.Append(i),
//
sp => sp.ToString()
//
);
//
Console.WriteLine(str);
//
//
使用 Descendants 方法查找单个后代
//
XElement root = XElement.Parse(@"<Root>
//
<Child1>
//
<GrandChild1>GC1 Value</GrandChild1>
//
</Child1>
//
<Child2>
//
<GrandChild2>GC2 Value</GrandChild2>
//
</Child2>
//
<Child3>
//
<GrandChild3>GC3 Value</GrandChild3>
//
</Child3>
//
<Child4>
//
<GrandChild4>GC4 Value</GrandChild4>
//
</Child4>
//
</Root>");
//
string grandChild3 = (string)
//
(from el in root.Descendants("GrandChild3")
//
select el).First();
//
Console.WriteLine(grandChild3);
/**/
///
/编写使用复杂筛选的查询
//
XElement root = XElement.Load("PurchaseOrders.xml");
//
IEnumerable<XElement> purchaseOrders =
//
from el in root.Elements("PurchaseOrder")
//
where
//
(from add in el.Elements("Address")
//
where
//
(string)add.Attribute("Type") == "Shipping" &&
//
(string)add.Element("State") == "NY"
//
select add)
//
.Any()
//
select el;
//
foreach (XElement el in purchaseOrders)
//
Console.WriteLine((string)el.Attribute("PurchaseOrderNumber"));
//
//
筛选可选元素
//
XElement root = XElement.Parse(@"<Root>
//
<Child1>
//
<Text>Child One Text</Text>
//
<Type Value=""Yes""/>
//
</Child1>
//
<Child2>
//
<Text>Child Two Text</Text>
//
<Type Value=""Yes""/>
//
</Child2>
//
<Child3>
//
<Text>Child Three Text</Text>
//
<Type Value=""No""/>
//
</Child3>
//
<Child4>
//
<Text>Child Four Text</Text>
//
<Type Value=""Yes""/>
//
</Child4>
//
<Child5>
//
<Text>Child Five Text</Text>
//
</Child5>
//
</Root>");
//
var cList =
//
from typeElement in root.Elements().Elements("Type")
//
where (string)typeElement.Attribute("Value") == "Yes"
//
select (string)typeElement.Parent.Element("Text");
//
foreach (string str in cList)
//
Console.WriteLine(str);
/**/
///
/对元素进行排序
//
XElement root = XElement.Load("Data.xml");
//
IEnumerable<decimal> prices =
//
from el in root.Elements("Data")
//
let price = (decimal)el.Element("Price")
//
orderby price
//
select price;
//
foreach (decimal el in prices)
//
Console.WriteLine(el);
/**/
///
/对多个键上的元素进行排序
//
XElement co = XElement.Load("CustomersOrders.xml");
//
var sortedElements =
//
from c in co.Element("Orders").Elements("Order")
//
orderby (string)c.Element("ShipInfo").Element("ShipPostalCode"),
//
(DateTime)c.Element("OrderDate")
//
select new
//
{
//
CustomerID = (string)c.Element("CustomerID"),
//
EmployeeID = (string)c.Element("EmployeeID"),
//
ShipPostalCode = (string)c.Element("ShipInfo").Element("ShipPostalCode"),
//
OrderDate = (DateTime)c.Element("OrderDate")
//
};
//
foreach (var r in sortedElements)
//
Console.WriteLine("CustomerID:{0} EmployeeID:{1} ShipPostalCode:{2} OrderDate:{3:d}",
//
r.CustomerID, r.EmployeeID, r.ShipPostalCode, r.OrderDate);
//
计算中间值
//
XElement root = XElement.Load("Data.xml");
//
IEnumerable<decimal> extensions =
//
from el in root.Elements("Data")
//
let extension = (decimal)el.Element("Quantity") * (decimal)el.Element("Price")
//
where extension >= 25
//
orderby extension
发表评论
-
WPF/Silverlight深度解决方案:(六)HLSL自定义渲染特效之完美攻略(上)
2010-01-13 16:40 2375Shader Effect 中文名称为“渲染特效”或“滤镜” ... -
Silverlight Image Source URI : 一个反斜杠引发的血案
2010-01-12 13:10 3586Silverlight Image Source U ... -
SilverLight跨域访问及其常用的几种解决方法
2010-01-06 16:59 5435SilverLight 出于对安全性的考虑默认情况下对UR ... -
有关silverlight中调用webservice的问题!!
2010-01-06 15:07 3340System.InvalidOperationExceptio ... -
Server.UrlEncode、HttpUtility.UrlDecode不同编码
2010-01-06 12:39 3269Server.UrlEncode、HttpUtility.U ... -
使用LINQ to XML来查询XML
2010-01-06 12:16 2755使用LINQ to XML来查询XML ... -
给弟弟起步学习软件开发(.Net 方向)的指导,博友们帮助看看,提些意见给他。
2010-01-06 11:15 964在我学习的时候走了至少3年的弯路,那个时候没有人告诉我该如 ... -
LINQ to XML 用 LINQ 查询 XML
2010-01-06 11:15 1510LINQ to XML 用 LINQ 查询 XML ... -
一个实例掌握linq to XML增查删改
2010-01-06 11:10 2250最近忽然想把过去写的I ... -
使用XML LINQ查询和转换XML
2010-01-06 10:37 1497本章包括 n XML LI ... -
XML LINQ简介
2010-01-06 10:32 1564本章包括 n XML LINQ ... -
.Net 中string与byte[]相互转换
2010-01-05 16:43 2428public static byt ... -
正则表达式收集(持久更新)
2010-01-04 15:56 1116正则表达式收集( ... -
网上搜集的webbrower的资料,很有借鉴价值
2010-01-04 15:54 1896http://hi.baidu.com/lovemoe/ ... -
Lexware Assembly Reference Tool for Visual Studio 2005 / 2008
2010-01-04 10:35 1885http://www.codeproject.com/KB/m ... -
Visual Studio的 诡异bug(mscorlib无法引用)
2010-01-04 09:27 2520这个需要手动修改项目的配置文件 添加 <Re ... -
[C#实战]Google Map开发实战参考
2010-01-03 16:48 5775[C# 实战] ... -
复习一下 .Net: delegate(委托)、event(事件) 的基础知识,从头到尾实现事件!
2010-01-02 23:33 2567有这样一道 .Net/C# 面试题:请以事件的概念实现 ... -
ADO.NET Entity Framework简介
2009-12-21 18:46 2696下一代的ADO.NET的目标是要解决关系数据模型和实际应用程序 ...
相关推荐
《精通LINQ LINQ to XML》是一本专为开发者深入理解和掌握LINQ(Language Integrated Query,语言集成查询)技术,特别是LINQ to XML部分而编写的权威指南。这本书结合了LINQ的基础、进阶和实战应用,是学习LINQ的...
在讨论 LINQ to XML 之前,我们先要了解 XML(Extensible Markup Language)的基本概念。XML 是一种标记语言,常用于存储和传输结构化数据。XML 文档由元素、属性、文本和注释等组成,其中元素是最基本的构建块,...
与传统的DOM(文档对象模型)或XPath、XQuery等XML处理方法相比,LINQ to XML 提供了一种更简洁、类型安全的方式来创建、操作和查询XML文档。它的API设计紧密地与C#和VB.NET语言特性相结合,使得代码更加清晰、...
### LINQ to XML 基本概念 1. **XElement 和 XAttribute**: LINQ to XML 的核心类是 `XElement` 和 `XAttribute`。`XElement` 用于表示XML元素,而 `XAttribute` 用于表示元素的属性。它们都继承自 `XObject` 类,...
首先,让我们理解一下LINQ to XML的基本概念: 1. **XElement** 类:这是LINQ to XML的核心类,代表XML元素。你可以直接创建XElement对象,然后通过添加子元素、属性或其他元素来构建XML结构。例如: ```csharp ...
LINQ TO XML操作示例 轻轻松松 学会简单操作 本例子包含了通过LINQ创建XML、加载XML、读取XML、修改XML元素、属性、删除XML元素节点、属性,XML排序,保存XML等 基本上XML的操作都包含在这里面了。 适合学习LINQ...
LINQ to XML提供了一种新的处理XML文档的方式,它将XML文档视为对象集合,可以直接进行查询和修改。学习LINQ to XML涉及以下内容: - 概述:理解LINQ to XML的基本概念和优势。 - 编程概述:创建XML文档,添加、...
例如,下面的代码展示了如何使用LINQ to XML进行基本操作: ```csharp XDocument doc = XDocument.Load("Student.xml"); // 查询 var students = from student in doc.Descendants("Student") where (int)student...
本案例将深入探讨Linq to XML的基本用法,帮助你理解如何在实际项目中应用这一技术。 1. **XML基础知识** 在讨论Linq to XML之前,我们需要了解XML的基本结构。XML(Extensible Markup Language)是一种标记语言,...
总的来说,“LINQ to XML入门篇”将引导我们逐步掌握如何在C#中利用LINQ查询XML数据,理解其基本语法、操作方法以及优势,从而在实际开发中提高效率,简化XML处理任务。学习并熟练掌握LINQ to XML,对于任何.NET...
在LINQ to XML中,`XElement`是基本的元素类,代表XML文档中的一个节点。你可以通过构造函数创建元素,并添加子元素、属性等。例如: ```csharp XElement root = new XElement("Root", new XElement("Child1", ...
以上就是C#的LinqXML技术对XML文件进行读取和操作的基本步骤。通过这些方法,你可以轻松地对XML数据进行查询、筛选、转换、添加、修改和删除等操作。在实际项目中,根据具体需求,还可以结合其他LINQ方法和表达式...
在LINQ to XML中,我们主要关注如何通过编程方式创建、查询和修改这些结构。 ### 2. LINQ to XML 类型系统 - `XElement`: 表示XML元素,是最基本的构建块。 - `XAttribute`: 表示XML属性。 - `XDocument`: 代表...
通过这门课程,开发者不仅能够掌握LINQ to XML的基本用法,还能理解其背后的查询原理,从而在实际开发中更有效地处理XML数据,提升代码质量和效率。无论你是.NET框架的新手还是经验丰富的开发者,这都是一个深入了解...
以下是一些关于 LINQ to XML 的关键知识点: 1. **根据元素的名称进行筛选(有命名空间)** 在处理包含命名空间的 XML 文件时,需要先定义相应的命名空间。例如: ```csharp XNamespace aw = ...
LINQ to XML是Microsoft .NET Framework 3.5中引入的一项功能,它提供了一种声明式的查询语言,允许开发人员以类似SQL的方式操作XML文档,而无需编写复杂的DOM或SAX代码。这极大地简化了对XML数据的读取、修改和创建...
3. 查询XML元素:LINQ to XML 提供了丰富的查询表达式,如`from...select...`。例如,如果我们要计算所有`<price>`元素的总和,可以写如下代码: ```csharp var total = doc.Descendants("price") .Sum(element =>...
除了基本的获取根元素,Linq to XML还支持更复杂的查询。例如,你可以通过根元素进一步查询其子元素或属性,如下所示: ```csharp // 获取根元素的所有子元素 var childElements = rootElement.Elements(); // ...