前言

想想毕业到现在已经工作了3个月,总结的知识点还是太少。这周因为项目完成的差不多了,有空补充一下知识,上周学了XML吗,一直都没有总结。今天便总结一下,一方面梳理一下知识点,一方面巩固下知识。

XML的特性

  • 标签要闭合
  • 属性要用" "包围。
  • Xml的大小写敏感
  • 元素必须关闭
  • 标签可以嵌套

怎么获取你已经建立的xml文件

1,先建立一个xml文件取名XMLFile1.xml

2,在同一目录下建立一个webform页面,获取同类型的代码如下

 XmlDocument xd = new XmlDocument();
xd.Load(Server.MapPath("XMLFile1.xml"));

第一行代码声明一个XmlDocument类(想象一个装xml文件的容器),第二行代码把xml文件导入该容器。

怎么获取xml的节点

为了更加直观一点,直接上代码:

             XmlElement xe=xd.DocumentElement;
//获取xml文件中的根元素 XmlNode root = xd.SelectSingleNode("DocumentElement");
//获取xml文件中的第一个所找"DocumentElement"节点,此处因为DocumentElement为根节点,
//所以可以用来获取该xml文件中的全部节点 XmlNode xn = root.FirstChild;
//根节点下的第一个节点 xn = root.LastChild;
//根节点下的最后一个节点 XmlNodeList xnl=xd.SelectSingleNode("DocumentElement").ChildNodes;
//获取xml文件中的全部孩子节点 xnl = root.SelectNodes("descendant::basic[Name='Lily']");
//获取root节点下所有满足name节点为lily的一级子节点,语法为("descendant::{0}[{1}"],root节点的一级子节点,条件)

附上一个简单的xml

<DocumentElement>
<basic>
<ID></ID>
<Name>Lily</Name>
</basic>
<basic>
<ID></ID>
<Name>Lucy</Name>
</basic>
<basic>
<ID></ID>
<Name>Lilei</Name>
</basic>
<basic>
<ID></ID>
<Name>HanMeiMei</Name>
</basic>
<basic>
<ID></ID>
<Name>LinTao</Name>
</basic>
</DocumentElement>

节点的操作方法

下面写了几个常用的,欢迎补充

1 增加节点

 XmlElement xe = xd.CreateElement("basic");//新建节点
XmlElement xe2 = xd.CreateElement("ID");
xe2.InnerText = "";//
xe.AppendChild(xe2);//把xe2放到basic节点里
XmlElement xe3 = xd.CreateElement("Name");
xe3.InnerText = "HuangFeiHong";
xe.AppendChild(xe3);
root.InsertAfter(xe, root.SelectSingleNode("descendant::basic[Name='Lily']"));//xe为要插入的节点,第二个参数为要插入的位置
xd.Save(Server.MapPath("XMLFile1.xml"));//保存xml文件

2 删除节点

            XmlNode root = doc.DocumentElement;
XmlNode xn1 = root.SelectSingleNode("descendant::basic[ID='3']");
root.RemoveChild(xn1);

3将xml显示出来

sb为StringBuilder类型;

sb.Append("<table>");
XmlNodeList nodelist = root.SelectNodes("//basic");
foreach (XmlNode xn in nodelist)
{
sb.Append("<tr>");
XmlNodeList xnlist=xn.ChildNodes;
foreach (XmlNode XN in xn)
{
sb.Append("<td width='50px' height='20px'>");
sb.Append(XN.InnerText);
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("</table>");

4 增删查改,最后一个当然是改,不过此处不再贴出代码,实际操作为修改找到节点的innerText即可。

说说感想

虽然不怎么写博客,不过倒是看了很多,学习了很多,第一次写这种总结性的博客,写的不好希望大家给出意见。今天写的这篇博客也花了有三个小时。临时写的程序,写的过程发现了很多缺漏,重新梳理了很多知识。发现写博客确实能帮助自己进步,巩固知识,能把自己乱糟糟的知识一点点理出来。以后还会继续写。共勉!

.net之XML的更多相关文章

  1. XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个的解决办法

            在前几天的一个项目中,由于数据库字段的命名原因 其中有两项:一项叫做"市场价格"一项叫做"商店价格" 为了便于区分,遂分别将其命名为market ...

  2. .NET Core采用的全新配置系统[9]: 为什么针对XML的支持不够好?如何改进?

    物理文件是我们最常用到的原始配置的载体,最佳的配置文件格式主要由三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...

  3. WebApi接口 - 响应输出xml和json

    格式化数据这东西,主要看需要的运用场景,今天和大家分享的是webapi格式化数据,这里面的例子主要是输出json和xml的格式数据,测试用例很接近实际常用情况:希望大家喜欢,也希望各位多多扫码支持和点 ...

  4. XML技术之DOM4J解析器

    由于DOM技术的解析,存在很多缺陷,比如内存溢出,解析速度慢等问题,所以就出现了DOM4J解析技术,DOM4J技术的出现大大改进了DOM解析技术的缺陷. 使用DOM4J技术解析XML文件的步骤? pu ...

  5. UWP开发之Mvvmlight实践六:MissingMetadataException解决办法(.Net Native下Default.rd.xml配置问题)

    最近完成一款UWP应用,在手机端测试发布版(Release)的时候应用莫名奇妙的强行关闭,而同样的应用包在PC端一点问题都没有,而且Debug版在两个平台都没有问题,唯独手机的Release版有问题. ...

  6. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  7. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  8. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  9. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  10. C#反序列化XML异常:在 XML文档(0, 0)中有一个错误“缺少根元素”

    Q: 在反序列化 Xml 字符串为 Xml 对象时,抛出如下异常. 即在 XML文档(0, 0)中有一个错误:缺少根元素. A: 首先看下代码: StringBuilder sb = new Stri ...

随机推荐

  1. ASP.NET MVC SignalR(1):背景

    系列目录:ASP.NET MVC SignalR 关键词:HTTP.轮询.WebSocket.Server-Sent Events.长轮询.forever frame. 1. HTTP HTTP(Hy ...

  2. iOS中UIKit——UIDataDetectors(数据检测器)它将电话、邮件、网址等变为链接

    1.它用于UITextView和UIWebView,属性名为:dataDetetorTypes 2.此属性可以设定使符合电话.邮件.网址.符合格式的日期等文字变为链接文字. 3.电话号码点击后拨出电话 ...

  3. 判断文件夹下是否存在txt格式的文本文件

    判断D盘下是否存在txt类型的文件 string p_Path="D:\\"; bool IsHaveTxt() { DirectoryInfo foldinfo = new Di ...

  4. luigi学习9--执行模型

    luigi的执行和触发模型非常简单. 一.luigi的执行模型 当你执行一个luigi的工作流的时候,worker调度所有的task,并且执行task在一个单独的进程中. 这种scheme最大的好处是 ...

  5. 配置Nginx服务

    一,安装之前准备1.nginx依赖: gcc openssl-devel pcre-devel zlib-devel    安装依赖:yum install gcc openssl-devel pcr ...

  6. mouseout以及mouseover

    两个图层 红色图层代表outside蓝色图层代表inside dom结构如下 <div id="outside">      <div id="insi ...

  7. CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

    firewall:systemctl start firewalld.service#启动firewallsystemctl stop firewalld.service#停止firewallsyst ...

  8. 03-树3 Tree Traversals Again

    二叉树及其遍历 push为前序遍历序列,pop为中序遍历序列.将题目转化为已知前序.中序,求后序. 前序GLR 中序LGR 前序第一个为G,在中序中找到G,左边为左子树L,右边为右子树R. 将左右子树 ...

  9. GPS之NMEA协议20160526

    NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式.现在已经成为GPS导航设备统一的RTCM(Rad ...

  10. jquery.unobtrusive-ajax.js的扩展,做到片段式加载

    //ajax支持库 /*! ** Unobtrusive Ajax support library for jQuery ** Copyright (C) Microsoft Corporation. ...