LINQ to XML
光脚丫思考
性别为非女,年龄二十有三。兴趣是计算机和其他若干!
EMAIL:[email protected]
展开
-
[代码]获取XML元素的值(LINQ to XML)
<br />此代码主要用来示范如何使用XElement.Element()方法获取指定名称的子元素,此方法只会返回一个子元素。<br />在代码中首先获取所有名为Item的元素,然后在LINQ to XML查询中,通过调用XElement.Element()方法获取名为Quantity和USPrice的子元素,然后据此返回大于100美元的订购项,最后将其打印到控制台上。<br />代码中用到的XML:<br /><?xml version="1.0"?> <PurchaseOrder PurchaseOr原创 2010-10-26 10:23:00 · 2072 阅读 · 0 评论 -
[代码]如何从XmlReader创建XML树(LINQ to XML)
<br />此代码演示如何直接从XmlReader创建XML树。<br /><br />示例代码<br />下面的代码首先使用XmlReader.Create()静态方法创建了一个XmlReader对象。然后将此XmlReader对象作为XElement.Load()方法的参数,这样便可以直接从XmlReader创建树了。需要强调的是,必须确保XmlReader被定为到元素上,否则可能会引发错误。代码中有具体的实现办法。<br />using System; using System.Collection原创 2010-10-28 23:00:00 · 1281 阅读 · 0 评论 -
[代码]使用XmlWriter填充XML树(LINQ to XML)
<br />此代码主要演示了如何使用XmlWriter来填充XML树,同时也顺带示范了如何使用XslCompiledTransform按照指定的样式表将XML从一个格式转换成另外一个新的格式。<br /><br />示例代码<br />使用XDocument.CreateWriter()方法将会创建一个XmlWriter,随后向这个XmlWriter写入的任何内容都会被写入的XDocument表示的XML树中,这是关键点。另外使用XDocument.CreateReader()则可以创建一个XmlReade原创 2010-10-28 23:08:00 · 1534 阅读 · 0 评论 -
[代码]使用XSD验证XML示例2(LINQ to XML)
<br />此代码仍然是演示如何使用LINQ to XML的XDocument.Validate()方法根据指定的XSD验证XDocument内容的有效性。<br /><br />示例代码<br />程序首先加载XSD和XML文档到内存,然后对其进行验证,第一次的验证成功地通过。紧接着,修改其中一个客户的编号,再对这个修改过的XML内容进行验证,则产生了异常。因为引用此客户编号的订单相关数据并没有被更新。如果使用没修改之前的客户编号来查找客户的话,自然是找不到了。<br /><br />下面是用来验证XML原创 2010-10-28 23:16:00 · 1806 阅读 · 0 评论 -
[代码]使用XmlReader对XML片段进行流式处理(LINQ to XML)
<br />本代码主要演示如何使用XmlReader对XML片段进行流式处理。这种做法,对大型的XML文档特别有用,它所需要的内存量非常的小。<br /><br />示例代码<br />在示例代码中,定义了一个自定义轴方法。在此轴方法中,通过调用XElement.ReadFrom()方法创建XML片段后,然后使用yield return返回该集合。这种做法可为自定义轴方法提供延迟执行语义。此自定义轴方法会查找出XML中的元素名为Child的所有元素。<br />然后在LINQ to XML的查询中将自定义轴原创 2010-10-28 23:05:00 · 1811 阅读 · 0 评论 -
[代码]捕获分析错误(LINQ to XML)
<br />此示例代码演示如何在LINQ to XML时捕获异常信息。<br /><br />示例代码<br />此代码是调用XElement.Parse()方法分析所提供的XML字符串,但是因为此XML字符串中的开始标记<Contacts>和结束标记</Contcts>不是一致的,因此产生了分析异常。<br />using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy原创 2010-10-28 22:57:00 · 1355 阅读 · 0 评论 -
[代码]如何分析XML字符串(LINQ to XML)
<br />此代码演示如何使用XElement.Parse()方法分析XML字符串,并创建XElement元素。从编程效率来讲这种做法可能效率非常的高,但从代码的执行效率来看,还是使用函数构造的方式创建XML树的效率高一点。<br /><br />示例代码<br />using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; namesp原创 2010-10-27 22:46:00 · 2605 阅读 · 0 评论 -
[代码]使用函数构造创建XML树(LINQ to XML)
<br />此示例代码主要示范了如何使用LINQ to XML的函数构造功能创建一个XML树。代码如下:<br />XElement Contacts = new XElement("Contacts", new XElement("Contact", new XElement("Name", "Patrick Hines"), new XElement("Phone", "206-55-0144", new XAttribute("T原创 2010-10-26 10:26:00 · 1412 阅读 · 0 评论 -
[代码]如何从文件加载XML(LINQ to XML)
<br />此示例代码演示如何使用XElement.Load()方法从文件中加载XML。<br /><br />示例代码<br />using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Linq; namespace Demo02Ex01 { class Program { static void Mai原创 2010-10-27 22:48:00 · 1269 阅读 · 0 评论 -
[代码]创建XDocument对象(LINQ to XML)
<br />LINQ to XML中的XDocument是用来表示内存中的XML文档的。同样可以使用函数构造功能来创建此对象。<br />此示例代码主要用来演示如何创建一个通用的XML文档。<br /><br />示例代码<br />代码中创建的XDocument对象,包含了2个注释(XComment),1个处理指令(XProcessingInstrucation),1个根元素及其若干子元素,也为文档添加了XML声明(XDeclaration)。最将所生成的XML内容打印到控制台,并保存到文件中。<br /原创 2010-10-27 18:41:00 · 2035 阅读 · 1 评论 -
[代码]使用函数构造创建具有属性的元素(LINQ to XML)
<br />此代码主要示范如何使用LINQ to XML的函数构造功能创建具有属性的元素。实际上是向XElement的构造函数添加XAttribute实例对象。<br /><br />示例代码<br />此示例代码创建了一个名为Phone的元素,并且为此元素添加了2个属性:Type和Country。<br />using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syst原创 2010-10-27 18:39:00 · 1490 阅读 · 0 评论 -
[代码]DOM和LINQ to XML创建XML树的三种方式
<br />此代码主要示范了DOM和LINQ to XML三种创建XML树的方式。<br /><br />第01种、使用W3C DOM创建XML树<br />可以使用XmlDocument.CreateElement()方法创建XML元素。<br />使用XmlElement.InnerText为元素添加内容,比如在元素的开始标记和结束标记之间添加字符串内容。<br />使用XmlElement.SetAttribute()方法为元素设置属性,如果指定的属性不存在,则会添加此属性。<br />把元素创建好了原创 2010-10-26 10:32:00 · 1928 阅读 · 0 评论 -
[代码]访问内存中的XML元素和元素属性(LINQ to XML)
<br />此代码示范了如何使用LINQ to XML将XML文档加载到内存中,并且如何通过XDocument.Descendants()对象方法按着顺序获取指定名称的所有子元素,以及如何通过XElement.Attribute()方法来获取指定名称的元素属性,进而访问属性值。<br />下面的示例代码首先使用XDocument.Load()方法将文件中的XML加载到内存中,然后通过调用XDocument.Descendants()方法检索出元素名为Item的所有子元素,接着使用LINQ to XML查询这原创 2010-10-26 10:19:00 · 1414 阅读 · 0 评论 -
[代码]元素的附加和克隆(LINQ to XML)
<br />当将一个XElement对象添加给一个XML树的时候,如果此XElement对象没有父级,即不是另外一个XML树的一部分,此时将会将此元素直接添加给XML树;如果XElement对象有父级,则会克隆这个XElement对象,然后将克隆的对象添加到新的XML树。<br /><br />示例代码<br />代码中的Child1被添加到XmlTree1元素,因此它已经有了父级,再将Child1添加给XmlTree2的时候,实际上添加的是Child1的克隆版。而Child2没有任何父级,所以,将会直接添原创 2010-10-27 22:44:00 · 1716 阅读 · 0 评论 -
[代码]使用LINQ的查询结果填充XML树(LINQ to XML)
<br />此代码使用的是LINQ to XML的函数构造功能创建一个XML树,其中树中的一些元素是通过LINQ查询结果填充。实际上,通过本例也可以看到如何使用LINQ to XML将原始XML文档转换成为另外一种XML文档。<br />下面代码中使用的PurchaseOrder.xml文档内容:<br /><?xml version="1.0"?> <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address原创 2010-10-27 18:36:00 · 1516 阅读 · 0 评论 -
[代码]使用XSD验证XML示例1(LINQ to XML)
<br />LINQ to XML的XDocument.Validate()方法是用来验证XML文档是否有效的,此方法需要指定验证所需的XSD,而这可以通过XmlSchemaSet对象提供,XmlSchemaSet.Add()方法可以将指定的XSD加载到验证集中。这样就可以使用此XSD来验证XML内容的有效性了。<br /><br />示例代码<br />此示例代码验证了两个XDocument对象的有效性。Document1是有效的,而Document2是无效的。因为Document2中包含了一个名为Chi原创 2010-10-28 23:11:00 · 2536 阅读 · 0 评论