xml文件格式说明
转载自:http://www.cr173.com/html/10715_1.html
关于xml的有关操作,在读的过程中,由于是初学者有不明白的地方就查资料,发现自己多innerXml,outerXml,innerXml的理解很不清楚,自己就在原有代码的上进行了部分修改(这不算侵权吧)。首先建立的xml的结构是这样子的,并命名为U-Shop:
<Teams>
<Member team="U-Shop" Description="U-Shop团队">
<name>灵动生活</name>
<position>planning</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>蓝蓝海天</name>
<position>support</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>神舟龙</name>
<position>lean</position>
</Member>
</Teams>
确定路径:
string myXmlFilePath = "E:\\U-Shop.xml";
依照此模板我们有c#代码进行建立,方法代码如下:
//生成xml 结构
private static void GenerateXMLFIL(string XMLfilePath)
{
try
{
//实例化xml文档
XmlDocument myXmlDoc = new XmlDocument();
//实例化一个根节点
XmlElement rootElement = myXmlDoc.CreateElement("Teams");
//把根节点添加到xml文档中
myXmlDoc.AppendChild(rootElement);
//创建一个一级节点
XmlElement fistLevelElement1 = myXmlDoc.CreateElement("Member");
//设置属性
fistLevelElement1.SetAttribute("team", "U-Shop");
fistLevelElement1.SetAttribute("Description", "U-Shop团队");
//将一级节点添加到根节点
rootElement.AppendChild(fistLevelElement1);
//创建二级节点
XmlElement secondLevelElement11 = myXmlDoc.CreateElement("name");
//设置二级节点的串联值
secondLevelElement11.InnerText = "灵动生活";
//把二级节点添加到一级几点
fistLevelElement1.AppendChild(secondLevelElement11);
XmlElement threeLevelElement12 = myXmlDoc.CreateElement("position");
threeLevelElement12.InnerText = "planning";
fistLevelElement1.AppendChild(threeLevelElement12);
XmlElement secondLevelElement2 = myXmlDoc.CreateElement("Member");
secondLevelElement2.SetAttribute("team", "U-Shop");
secondLevelElement2.SetAttribute("Description", "U-Shop团队");
//添加到根节点
rootElement.AppendChild(secondLevelElement2);
XmlElement secondLevelElement21 = myXmlDoc.CreateElement("name");
secondLevelElement21.InnerText = "蓝蓝海天";
secondLevelElement2.AppendChild(secondLevelElement21);
XmlElement threeLevelElement22 = myXmlDoc.CreateElement("position");
threeLevelElement22.InnerText = "support";
secondLevelElement2.AppendChild(threeLevelElement22);
XmlElement secondLevelElement3 = myXmlDoc.CreateElement("Member");
secondLevelElement3.SetAttribute("team", "U-Shop");
secondLevelElement3.SetAttribute("Description", "U-Shop团队");
//添加到根节点
rootElement.AppendChild(secondLevelElement3);
XmlElement secondLevelElement31 = myXmlDoc.CreateElement("name");
secondLevelElement31.InnerText = "神舟龙";
secondLevelElement3.AppendChild(secondLevelElement31);
XmlElement threeLevelElement32 = myXmlDoc.CreateElement("position");
threeLevelElement32.InnerText = "lean";
secondLevelElement3.AppendChild(threeLevelElement32);
//保存,重要
myXmlDoc.Save(XMLfilePath);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
下面的方法就是获取已经创建好的xml文件中信息,方法代码如下:
//获取xml信息
private static void GetXMLInformation(string XMLfilePath)
{
//实例化一个xml文档
XmlDocument myXmlDoc = new XmlDocument();
//加载xml文档
myXmlDoc.Load(XMLfilePath);
//获得第一个为Computers的根节点
XmlNode rootNode = myXmlDoc.SelectSingleNode("Teams");
//获取根节点中串联值
string innertext = rootNode.InnerText.ToString();
//获取根节点虽有子节点结构
string innerXmlInfo = rootNode.InnerXml.ToString();
//获取根节点在内的整个xml的结构
string outXmlInfo = rootNode.OuterXml.ToString();
//获取根节点的所有自己点
// }
XmlNodeList firstLevelNodeList = rootNode.ChildNodes;
//遍历所有子节点
foreach (XmlNode node in firstLevelNodeList)
{
string inner = node.InnerXml;
string outx = node.OuterXml;
//获取所有子节点的属性
XmlAttributeCollection attributeCol = node.Attributes;
//遍历自己点属性
foreach (XmlAttribute attri in attributeCol)
{
//获取每个节点属性的key,value值
string name = attri.Name;
string value = attri.Value;
Console.WriteLine("{0}={1}", name, value);
}
//判断子节点是否还有子节点
if (node.HasChildNodes)
{//如果有子节点则执行
//获取子节点中的第一个孩子
XmlNode secondeLevelNode1 = node.FirstChild;
//得到第一个孩子的名称
string name = secondeLevelNode1.Name;
string innetext = secondeLevelNode1.InnerText.ToString();
string outxml = secondeLevelNode1.OuterXml.ToString();
//获得第一个孩子的串联值
string innerxml = secondeLevelNode1.InnerXml.ToString();
Console.WriteLine("{0}={1}", name, innerxml);
XmlNode secondLevelNode2 = node.ChildNodes[1];
name = secondLevelNode2.Name;
innerxml = secondLevelNode2.InnerXml;
Console.WriteLine("{0}={1}", name, innerxml);
}
}
}
我们很容易获得上边代码中红色字体的值,即innertext=“灵动生活planning蓝蓝海天support神舟龙lean:“理解:根节点以下所有节点的值,innerXmlInfo =“
<Member team="U-Shop" Description="U-Shop团队">
<name>灵动生活</name>
<position>planning</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>蓝蓝海天</name>
<position>support</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>神舟龙</name>
<position>lean</position>
</Member>
理解:除根节点标签后,根节点包含的xml结构”, outXmlInfo =”
<Teams>
<Member team="U-Shop" Description="U-Shop团队">
<name>灵动生活</name>
<position>planning</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>蓝蓝海天</name>
<position>support</position>
</Member>
<Member team="U-Shop" Description="U-Shop团队">
<name>神舟龙</name>
<position>lean</position>
</Member>
</Teams>
理解:包含根节点标签在内的xml结构“
innertext :可以把这个单词分开进行理解,分开就是inner和text,inner就是里面的意思,这里我们可以理解为不包含本节点,即innertext所在节点的子节点,text就是文本的意思,所以innertext不会出现标签,整体理解就是innertext所在节点所包含的子节点的值;
innerxml:同样我们也可以把这个单词拆分进行理解,分开就是inner和xml,inner就是里面的意思,这里我们可以理解为不包含本节点,即innerxml所在节点的子节点,xml 这里可以认为是我们所写的标签,当然也包括它的属性值,所以这里理解就是innerxml所在节点所包含的子节点的标签结构;
outerxml:同样我们也可以把这个单词拆分进行理解,分开就是outer和xml,out就是外面的意思,这里我们可以理解为包含本节点,即outerxml所在节点的子节点,xml 这里可以认为是我们所写的标签,当然也包括它的属性值,所以这里理解就是outerxml所在节点以及所包含的子节点的标签结构、属性、值(包含所在节点)。
C#中看到的某个xm文件:
<root>
<version>2</version>
<name>baidu_xinwen_1.1.0</name>
<url>http://gdown.baidu.com/data/wisegame/f98d235e39e29031/baiduxinwen.apk</url>
</root>
xml文件格式说明的更多相关文章
- xml文件格式例如以下
xml文件格式例如以下: <?xml version="1.0" encoding="utf-8"?> <us ...
- cve-2010-3333 Microsoft Office Open XML文件格式转换器栈缓冲区溢出漏洞 分析
用的是泉哥的POC来调的这个漏洞 0x0 漏洞调试 Microsoft Office Open XML文件格式转换器栈缓冲区溢出漏洞 Microsoft Office 是微软发布的非常流行的办公 ...
- day6 xml文件格式的处理
XML处理模块 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公 ...
- JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式
JSON数据格式:以及XML文件格式,YML文件格式,properties文件格式 数据格式: json数据格式:属于轻量级数据格式,是javascript的一种描述数据的格式.具有易于解析,语法 ...
- Android PackageManager packages.xml文件格式
packages.xml文件存放在/data/system目录下 该文件记录了系统中所有应用程序的包管理相关信息 PmS根据该文件进行包管理的各种操作 标签名称 所包含的值举例 last- ...
- 记录一次手机联系人整理(XML文件格式处理)
场景:1.IOS手机和Android手机联系人同步时有部分重复联系人. 2.很早以前的HTC手机导出的联系人中备注信息有大量乱码,且很多联系人生日被设置为1970-01-01,导致生日提醒软件产生骚扰 ...
- XML文件格式
首行是需要对xml版本声明<?xml version="1.0" ecoding="UTF-8"?> 语言可根据需要修改 在编写xml的几个注意点 ...
- Androidmanifest.xml文件格式详解(转载)
https://www.jianshu.com/p/eaaae96473f6 来自简书大佬的
- python模块(shelve,xml,configparser,hashlib,logging)
1.1shelve模块 shelve 模块比pickle模块简单,只有一个open函数,返回类似字典对象,可读可写:key必须为字符串, 而值可以是python所支持的数据类型. shelve模块主要 ...
随机推荐
- Python监控网站接口值
Python监控网站接口值: #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'liudong' import urllib,sy ...
- VB.net 调用dll
Public Declare Function APlayer_OpenA Lib "APlayerCaller.dll" (ByVal aplayer As Integer, B ...
- Linux 常用命令 :cd命令
ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linu ...
- switch语句下的变量声明和定义
switch语句下的变量声明和定义的问题: switch...case...语句中存在声明和定义会出现一些问题.这个由switch语法特性决定的, switch中每个case都是平等的层次,区别于一般 ...
- ubuntu14.04安装bodhi桌面系统后,unity启动界面改变,如何还原
按一下 ctrl + alt + f1 # 出現 tty11. sudo service lxdm stop或sudo /etc/init.d/lxdm stop如果出現錯誤訊息 不理它 繼續2. s ...
- iOS打包ipa包
创建证书之类这里就不说了,毕竟我也没有弄过. 我是团队开发,直接给我的p12文件,去开发者中心下载provision并且是distribute的就可以了. 1>.Xcode打包: 注意两个地方都 ...
- Android笔记:DrawerLayout抽屉布局的使用
DrawerLayout(抽屉布局),在各种app中经常出现,比如csdn.. 如下示,只要从屏幕侧边滑一下,或者点击左上角的图标,抽屉就会出来. DrawerLayout要点: 1.使用Drawer ...
- VoLTE 注册流程
1.开关按钮位置: 设置--> 更多--> 移动网络--> 增强型4G LTE模式 2.该设置开关使用了SwitchPreference控件,addEnhanced4GLteSw ...
- linux 如何显示一个文件的某几行(中间几行)
linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...
- 最全的Resharper快捷键汇总
编辑Ctrl + Space 代码完成 Ctrl + Shift + Space代码完成Ctrl + Alt + Space代码完成Ctrl + P 显示参数信息Alt + Insert 生成构造函数 ...