XElement

using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using System.IO;

namespace LinqToXml
{
    class Program
    {
        static void Main(string[] args)
        {
            #region Create
            //XElement contacts =
            //    new XElement("Contacts",
            //    new XElement("Contact",
            //        new XElement("Name", "Patrick Hines"),
            //        new XElement("Phone", "206-555-0144",
            //            new XAttribute("Type", "Home")),
            //        new XElement("phone", "425-555-0145",
            //            new XAttribute("Type", "Work")),
            //        new XElement("Address",
            //            new XElement("Street1", "123 Main St"),
            //            new XElement("City", "Mercer Island"),
            //            new XElement("State", "WA"),
            //            new XElement("Postal", "68042")
            //        )
            //    )
            //);
            //Console.WriteLine(contacts); 
            #endregion

            #region Load&Select
            Stream stream = new FileStream(@"D:\MyCode\CSharpeDotNet\LinqToXml\LinqToXml\PurchaseOrder.xml", FileMode.Open);
            XElement xml = XElement.Load(stream);
            Console.WriteLine(xml);
            IEnumerable<string> partNos =
                from item in xml.Descendants("Item")
                select (string)item.Attribute("PartNumber");
            IEnumerator<string> enumerator = partNos.GetEnumerator();
            while (enumerator.MoveNext())
            {
                Console.WriteLine(enumerator.Current);
            } 
            #endregion

            #region Add
            //XElement srcTree = new XElement("Root",
            //    new XElement("Element1", 1),
            //    new XElement("Element2", 2),
            //    new XElement("Element3", 3),
            //    new XElement("Element4", 4),
            //    new XElement("Element5", 5)
            //);

            //XElement xmlTree = new XElement("Root",
            //    new XElement("NewElement", "Content")
            //);

            //xmlTree.Add(
            //    from el in srcTree.Elements()
            //    where (int)el >= 3
            //    select el
            //);

            //Console.WriteLine(xmlTree); 
            #endregion

            #region Update
            //XElement root = new XElement("Root",
            //    new XElement("Child", "child content")
            //);
            //Console.WriteLine(root);
            //root.SetValue("new content");
            //Console.WriteLine(root); 
            #endregion

            #region Remove
            //XElement xmlTree = new XElement("Root",
            //        new XElement("Child1", "child1 content"),
            //        new XElement("Child2", "child2 content"),
            //        new XElement("Child3", "child3 content"),
            //        new XElement("Child4", "child4 content"),
            //        new XElement("Child5", "child5 content")
            //    );
            //Console.WriteLine(xmlTree);
            //XElement child3 = xmlTree.Element("Child3");
            //child3.Remove();
            //Console.WriteLine(xmlTree);
            #endregion

            #region ReplaceWith
            //XElement xmlTree = new XElement("Root",
            //        new XElement("Child1", "child1 content"),
            //        new XElement("Child2", "child2 content"),
            //        new XElement("Child3", "child3 content"),
            //        new XElement("Child4", "child4 content"),
            //        new XElement("Child5", "child5 content")
            //    );
            //XElement child3 = xmlTree.Element("Child3");
            //Console.WriteLine(xmlTree);
            //child3.ReplaceWith(
            //    new XElement("NewChild", "new content")
            //);
            //Console.WriteLine(xmlTree); 
            #endregion

            #region XmlDocument Create
            //System.Xml.XmlDocument xd = new XmlDocument();
            //XmlNode root = xd.CreateElement("Response", "www.baidu.com");
            //xd.AppendChild(root);
            //Console.WriteLine(xd.InnerXml); 
            #endregion

            //XElement xmlTree=

            Console.Read();

        }
    }
}

PurchaseOrder.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>

  msdn

转载于:https://www.cnblogs.com/youquan-deng/archive/2012/08/13/linq_xelement_xml.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值