[代码]访问内存中的XML元素和元素属性(LINQ to XML)
2010-10-26 10:19
525 查看
此代码示范了如何使用LINQ to XML将XML文档加载到内存中,并且如何通过XDocument.Descendants()对象方法按着顺序获取指定名称的所有子元素,以及如何通过XElement.Attribute()方法来获取指定名称的元素属性,进而访问属性值。
下面的示例代码首先使用XDocument.Load()方法将文件中的XML加载到内存中,然后通过调用XDocument.Descendants()方法检索出元素名为Item的所有子元素,接着使用LINQ to XML查询这个返回结果集中每一个元素,获取元素的PartNumber属性,最后将其打印到控制台上。
所用到的XML文档如下:
示例代码:
下面的示例代码首先使用XDocument.Load()方法将文件中的XML加载到内存中,然后通过调用XDocument.Descendants()方法检索出元素名为Item的所有子元素,接着使用LINQ to XML查询这个返回结果集中每一个元素,获取元素的PartNumber属性,最后将其打印到控制台上。
所用到的XML文档如下:
<?xml version="1.0"?> <PurchaseOrder PurchaseOrderNumber="99503" OrderDate="1999-10-20"> <Address Type="Shipping"> <Name>Ellen Adams</Name> <Street>123 Maple Street</Street> <City>Mill Valley</City> <State>CA</State> <Zip>10999</Zip> <Country>USA</Country> </Address> <Address Type="Billing"> <Name>Tai Yee</Name> <Street>8 Oak Avenue</Street> <City>Old Town</City> <State>PA</State> <Zip>95819</Zip> <Country>USA</Country> </Address> <DeliveryNotes>Please leave packages in shed by driveway.</DeliveryNotes> <Items> <Item PartNumber="872-AA"> <ProductName>Lawnmower</ProductName> <Quantity>1</Quantity> <USPrice>148.95</USPrice> <Comment>Confirm this is electric</Comment> </Item> <Item PartNumber="926-AA"> <ProductName>Baby Monitor</ProductName> <Quantity>2</Quantity> <USPrice>39.98</USPrice> <ShipDate>1999-05-21</ShipDate> </Item> </Items> </PurchaseOrder>
示例代码:
static void Main(string[] args) { XDocument PurchaseOrderDocument = XDocument.Load(@"C:/LINQ/PurchaseOrder.xml"); IEnumerable<XElement> ItemElements = PurchaseOrderDocument.Descendants ("Item"); IEnumerable<string> PartNumbers = from Item in ItemElements select Item.Attribute ("PartNumber").ToString(); foreach (string PartNumber in PartNumbers) { Console.WriteLine(PartNumber); } }
相关文章推荐
- [代码]使用函数构造创建具有属性的元素(LINQ to XML)
- LINQ To XML:遍历元素属性
- LINQ To XML:获取,修改,增加,删除元素的属性
- LinQ To Xml 通过元素属性检索元素的值
- [代码]获取XML元素的值(LINQ to XML)
- [代码]元素的附加和克隆(LINQ to XML)
- C#新手入门代码 LINQ TO XML xattribute的用法示例
- Linq to xml读取属性
- linq to xml查找元素的值
- LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互
- [代码]如何从XmlReader创建XML树(LINQ to XML)
- C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML
- [代码]使用XmlReader对XML片段进行流式处理(LINQ to XML)
- Linq to xml 代码实战(3)
- [代码]创建XDocument对象(LINQ to XML)
- [代码]使用XmlWriter填充XML树(LINQ to XML)
- 【AS3代码】访问/修改XML子元素和属性
- Linq to xml 读取xml元素的方法
- as3之访问XML元素和属性
- [代码]使用XSD验证XML示例1(LINQ to XML)