首页 > 其他分享 >[代码]元素的附加和克隆(LINQ to XML)

[代码]元素的附加和克隆(LINQ to XML)

时间:2023-06-30 19:02:04浏览次数:44  
标签:XML Child1 Child2 克隆 XElement XmlTree2 System LINQ


当将一个XElement对象添加给一个XML树的时候,如果此XElement对象没有父级,即不是另外一个XML树的一部分,此时将会将此元素直接添加给XML树;如果XElement对象有父级,则会克隆这个XElement对象,然后将克隆的对象添加到新的XML树。

示例代码代码中的Child1被添加到XmlTree1元素,因此它已经有了父级,再将Child1添加给XmlTree2的时候,实际上添加的是Child1的克隆版。而Child2没有任何父级,所以,将会直接添加个XmlTree2。

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

namespace Demo03Ex01
{
    class Program
    {
        static void Main(string[] args)
        {
            XElement XmlTree1 = new XElement("Root",
                new XElement("Child1", 1));

            XElement Child2 = new XElement("Child2", 2);

            XElement XmlTree2 = new XElement("Root",
                XmlTree1.Element("Child1"),
                Child2);

            Console.WriteLine("Child1 was {0}",
                XmlTree1.Element("Child1") == XmlTree2.Element("Child1") ?
                "attached" : "cloned");

            Console.WriteLine("Child2 was {0}",
                XmlTree2.Element("Child2") == Child2 ?
                "attached" : "aloned");
        }
    }
}

标签:XML,Child1,Child2,克隆,XElement,XmlTree2,System,LINQ
From: https://blog.51cto.com/u_16173572/6592920

相关文章

  • CentOs6 yum源 centos/6.4/os/x86_64/repodata/repomd.xml报错的解决方法
    CentoS6停止维护更新日期2020年11月30日CentOS7停止维护更新日期2024年6月30日CentOS8停止维护更新日期2021年12月31日因为测试需要,安装了CentOS6.4,进行更新时yum提示不可用。按照阿里云开源镜像(https://developer.aliyun.com/mirror/centos)......
  • XML PHP SimpleXMLElement Object数组转化为普通数组
    做微信第三方接口接入的时候发现接口返回的数据都是xml格式的。以下是如何把xml格式转化为普通的数组格式取值。xml格式数据:$xmlstr="<xml><mch_appid>".$data['mch_appid']."</mch_appid><mchid>".$data['mchid']."</mchid>......
  • IDEA创建*.xml文件为灰色的解决办法
    问题:通过flie创建*.xml文件时如下显示,文件内容也不会有高亮显示:解决办法:点击Setting—Editor—FileTypes—Auto-detectfiletypebycontent标签,删掉其中的记录即可效果: 转载:(24条消息)IDEA创建*.xml文件为灰色的解决办法_啊哈ㄚ的博客-CSDN博客 ......
  • xml注释
    把xml代码注释掉:<!--这是一个注释--><TextViewandroid:id="@+id/text_view"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="HelloWorld"/><!--这是多行注......
  • 光脚丫学LINQ(006):投影
     视频演示:http://u.115.com/file/f21042d848 select子句生成查询结果并指定每个返回的元素的“形状”或类型。例如,您可以指定结果包含的是整个Customer对象、仅一个成员、成员的子集,还是某个基于计算或新对象创建的完全不同的结果类型。当select子句生成除源元素副本以外的......
  • 光脚丫学LINQ(003):排序结果集
    视频演示:http://u.115.com/file/f2e2959888 通常可以很方便地将返回的数据进行排序。orderby子句将使返回的序列中的元素按照被排序的类型的默认比较器进行排序。例如,下面的查询可以扩展为按Name属性对结果进行排序。因为Name是一个字符串,所以默认比较器执行从A到Z的字母......
  • 光脚丫学LINQ(014):LINQ to SQL简介
    视频演示:http://u.115.com/file/f29f7838f6 LINQtoSQL是.NETFramework3.5版的一个组件,提供了用于将关系数据作为对象管理的运行时基础结构。说明关系数据显示为由二维表(关系或平面文件)组成的集合,其中公共列将表互相关联起来。若要有效地使用LINQtoSQL,您必须略为熟悉关......
  • 光脚丫学LINQ(001):获取数据源
    视频演示:http://u.115.com/file/f2b79e6286 本主题简要介绍LINQ查询表达式,以及您在查询中执行的一些典型类型的操作。下面各主题中提供了更详细的信息:获取数据源在LINQ查询中,第一步是指定数据源。像在大多数编程语言中一样,在C#中,必须先声明变量,才能使用它。在LINQ查询中,最......
  • 光脚丫学LINQ(005):数据表之间的联接查询
      视频演示:http://u.115.com/file/f29a440f67 联接运算创建数据源中没有显式建模的序列之间的关联。例如,您可以执行联接来查找符合以下条件的所有客户:位于巴黎,且从位于伦敦的供应商处订购产品。在LINQ中,join子句始终针对对象集合而非直接针对数据库表运行。在LINQ中,您不必......
  • XMLSpy操作手册
    最新发布的XMLSpy会让XML代码的处理更容易,还会有助于这个产品成为最主要的XML编辑器。xmlspy是符合行业标准的XML开发环境,专门用于设计,编辑和调试企业级的应用程序,包括XML,XMLSchema,XSL/XSLT,SOAP,WSDL和互联网服务技术。这是J2EE,.NET和数据库开发人员不可缺少的高性能的开......