又一次学习Xml,之前差不多都忘了,为了下半年的面试,为了工作重头来过。。。。。。。

其实我觉得直接上代码来的更实际点,理论的东西,我们随便找点书看看就行。

下面的代码是为了打印出一个xml文件

xml文件如下:

<?xml version="1.0" encoding="utf-8" ?>
<books>
<book>
<title title="nimei" >beginning with C# 4.0</title>
<author>Karli Waton</author>
<!-- nijsfsajfsaf-->
<code>7865</code>
</book>
</books>

  代码如下:

public void LoadXmlFileAndPrint()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("../../testXml2.xml");
XmlNode node= xmlDoc.DocumentElement;
// string result=Print( node, "","");
string result = LoopFunctionGetResult(node,"");
Console.Write(result);
} private string LoopFunctionGetResult(XmlNode node, string text)
{ //所有的Node都有类型,分为:element,comment,xmltext;而xmltext,comment是没有attribute、butes属性的,
//所有有关xmltext和commend的操作要放到有关element操作之前 if (node is XmlText) //判断是否是xmltext类型
{
text += node.Value;
return text;
} if (node is XmlComment) //判断是否是xmlcomment类型
{
text +=" \n <!--"+ node.Value+"-->";
return text;
}
//由于xmltext和xmlcommetn的书写格式不一样,只有他们判断之后,才能写节点<...>,
text += "\n <" + node.Name; if (node.Attributes.Count > 0)
{
AddAttributesMe(node, ref text);
}
if (node.HasChildNodes)
{
text +="> ";
foreach (XmlNode child in node.ChildNodes) //如果该节点下存在子节点,就递归调用函数(注意:返回的值也要接收)
text=LoopFunctionGetResult(child, text); //如果当前节点是text or commend,加结束符号
//if (node.ChildNodes.Count == 1 && (node.FirstChild is XmlText || node.FistChild is XmlCommend) //{
// text += "</" + node.Name + ">";
//}
//else (这写可以不要,写上思路更加清晰)
text += " \t \n </" + node.Name + ">"; //非文本类型,加结束符号
}
return text;
}

  顺便提提ref和out:

ref和out都是传引用而不是传值;不同之处在于:ref在传引用之前要初始化,而out不用。他们编译是完全一样的!

二度xml<一>的更多相关文章

  1. 二度Xml<2>

    一下介绍xml的基本操作,添加xml新节点: 其他方法在前一篇日记中有详细讲解,请详见:http://www.cnblogs.com/fjsnail/archive/2012/10/20/273212 ...

  2. MapReduce实现二度好友关系

    一.问题定义 我在网上找了些,关于二度人脉算法的实现,大部分无非是通过广度搜索算法来查找,犹豫深度已经明确了2以内:这个算法其实很简单,第一步找到你关注的人:第二步找到这些人关注的人,最后找出第二步结 ...

  3. 海量数据的二度人脉挖掘算法(Hadoop 实现)

    最近做了一个项目,要求找出二度人脉的一些关系,就好似新浪微博的“你可能感兴趣的人” 中,间接关注推荐:简单描述:即你关注的人中有N个人同时都关注了 XXX . 在程序的实现上,其实我们要找的是:若 U ...

  4. 依据二度人脉推荐好友sql

    friend表结构 DROP TABLE IF EXISTS FRIEND; create table friend(     uid        bigint not null comment ' ...

  5. 二度云抢先成为首批中国工信部(.vip/.xyz/.club)域名注册管理机构

    今天,工信部官网的公示文件显示,新通用顶级域名.vip..xyz以及.club域名注册局已正式获得工信部审批,成为中国境内合法的顶级域名注册管理机构,这标志着.vip..xyz以及.club域名成为首 ...

  6. 基于Spark GraphX计算二度关系

    关系计算问题描述 二度关系是指用户与用户通过关注者为桥梁发现到的关注者之间的关系.目前微博通过二度关系实现了潜在用户的推荐.用户的一度关系包含了关注.好友两种类型,二度关系则得到关注的关注.关注的好友 ...

  7. 使用MapReduce实现二度人脉搜索算法

    一,背景介绍 在新浪微博.人人网等社交网站上,为了使用户在网络上认识更多的朋友,社交网站往往提供类似“你可能感兴趣的人”.“间接关注推荐”等好友推荐的功能,其中就包含了二度人脉算法. 二,算法实现 原 ...

  8. 可扩展标记语言XML之二:XML语言格式规范、文档组成

    大家好,小乐又来了,好久不见!这次接着上次可扩展标记语言XML之一:XML概念,作用,示例,继续讲述XML. 一.格式良好的 xml 1.语法规范: 1).必须有 XML 文档声明: <?xml ...

  9. Spark 计算人员二度关系

    1.一度人脉:双方直接是好友 2.二度人脉:双方有一个以上共同的好友,这时朋友网可以计算出你们有几个共同的好友并且呈现数字给你.你们的关系是: 你->朋友->陌生人 3.三度人脉:即你朋友 ...

随机推荐

  1. Oracle数据文件和临时文件的管理

    一.数据文件概述在Oracle数据库中,SYSTEM和SYSAUX表空间至少需要包含一个数据文件,此外还将包含多个其他表空间及与其相关的数据文件和临时文件.Oracle的数据文件和临时文件是操作系统文 ...

  2. BZOJ3670:[NOI2014]动物园

    浅谈\(KMP\):https://www.cnblogs.com/AKMer/p/10438148.html 题目传送门:https://lydsy.com/JudgeOnline/problem. ...

  3. web 面试题、简单题、复习题

    1. 概述MVC体系结构,各个部分都有那些技术来实现? M即model(模型,bean(domain)层)由javabean或EJB实现:V即view(视图,显示层)由jsp实现:C即controll ...

  4. 数据的持久性存储(二)——CoreData(附Demo)

    CoreData是一款稳定.功能全面的持久性工具.(本文参考iphone开发3所写,比较简要,需详细了解可以参考iphone开发3) 首先创建一个新的项目CoraData,记得勾选Use Core D ...

  5. 【转】配置Jmeter的自定义参数

    配置Jmeter的自定义参数 User Defined Variables 在这个控件中,定义你所需要的参数,如 在对应的需要使用参数的位置,使用${host}替代. 应用场景: 当测试环境变化时,我 ...

  6. thinkphp中的session的使用和理解!

    session的作用:session可以长时间的保存数据,不丢失. session的常用于: 1.登录,保存登录信息 2.保存购物车信息 3.保存验证码信息 定义session常量 define('W ...

  7. PL/SQL 训练05--游标

    --隐式游标--通过一个简单的SELECT ...INTO 语句提取一行数据,并放在一个局部变量中,最简单获取数据的途径 --显示游标--可以在声明单元明确的声明一个查询,这样可以在一个或多个程序中打 ...

  8. springboot成神之——springboot+mybatis+mysql搭建项目简明demo

    springboot+mybatis+mysql搭建项目简明demo 项目所需目录结构 pom.xml文件配置 application.properties文件配置 MyApplication.jav ...

  9. Java面向对象-访问控制权限

    Java面向对象-访问控制权限 Java中,可以通过一些Java关键字,来设置访问控制权限: 主要有 private(私有), package(包访问权限),protected(子类访问权限),pub ...

  10. Halcon学习之边缘检测函数

    sobel_amp ( Image : EdgeAmplitude : FilterType, Size : ) 根据图像的一次导数计算图像的边缘 close_edges ( Edges, EdgeI ...