C#中XML的读取
本文主要介绍在C#中有关XML的读取,写入操作。
1.XML的内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<root>
<title>
<settings id = "0" name = "显示文字">欢迎您!智慧服务,互动体验......</settings>
<settings id = "1" name = "字体">微软雅黑</settings>
<settings id = "2" name = "颜色">Yellow</settings>
<settings id = "3" name = "字体尺寸">48</settings>
</title>
<menu>
<submu id="0" name="部门分布"/>
<submu id="1" name="宣传视频"/>
<submu id="2" name="部门宣传"/>
<submu id="3" name="会议安排"/>
</menu>
<mu1>
<submu id = "0" name = "iCentroView产品">
<video id = "0">Videos/ICV.mp4</video>
</submu>
<submu id = "1" name = "员工社区">
<video id = "0">Videos/ygsqxcp.mp4</video>
</submu>
<submu id = "2" name = "三维展示">
<video id = "0">Videos/iBaosight.mp4</video>
</submu>
<submu id = "1" name = "好生活宣传">
<video id = "0">Videos/goodlift.mp4</video>
</submu>
</mu1>
<main>Picture/main.jpg</main>
</root>
2.获得XML文档
private static string url = AppDomain.CurrentDomain.SetupInformation.ApplicationBase+"Config\\config.xml";
private XmlDocument xmlDoc;
private XmlNode root;
public static string Title;
public XMLHandler()
{
xmlDoc = new XmlDocument();
LoadConfig();
} private void LoadConfig()
{
try
{
xmlDoc.Load(url);
root = xmlDoc.SelectSingleNode("root");
}
catch (Exception e)
{
throw e;
}
}
3.通过属性名称读取XML节点中的内容
public TitleModel GetTitle()
{
try
{
TitleModel title = new TitleModel();
XmlNode node = root.FirstChild;
if(node!=null)
{
foreach (XmlNode nd in node.ChildNodes)
{
XmlElement element = (XmlElement)nd;
if (element.GetAttribute("name") == "显示文字")
{
title.Title = nd.InnerText;
}
else if (element.GetAttribute("name") == "字体尺寸")
{
title.FontSize = Convert.ToInt32(nd.InnerText);
}
else if (element.GetAttribute("name") == "颜色")
{
title.FontColor = FontColor(nd.InnerText);
}
else if (element.GetAttribute("name") == "字体")
{
title.FontFamily = nd.InnerText;
}
}
}
return title;
}
catch (Exception e)
{
throw e;
} }
4.通过属性读取XML中节点的属性值
public List<string> GetMenuString()
{
try
{
List<string> list=new List<string>();
XmlNode menu = root.ChildNodes[];
if (menu != null)
{
foreach (XmlNode node in menu.ChildNodes)
{
XmlElement element = (XmlElement)node;
list.Add(element.GetAttribute("name"));
}
}
return list;
}
catch (Exception e)
{
throw e;
}
}
5.通过节点获取XML节点中的内容
public string GetMainBackground()
{
string url ="Images/mainjpg";
try
{
XmlNode node = root.LastChild;
if (node != null)
{
url = node.InnerText;
}
return url;
}
catch (Exception e)
{
throw e;
} }
以上就完成,通过节点属性、属性值对XML的读取。
C#中XML的读取的更多相关文章
- cocos2d-x 中 xml 文件读取
实现类 CXmlParse 啥也不说了 直接上硬货 believe yourself 一看就明白 CXmlParse.h #ifndef __C_XML_PARSE__ #define __C ...
- Springboot 项目中 xml文件读取yml 配置文件
<bean id="yamlProperties" class="org.springframework.beans.factory.config.YamlProp ...
- Java中XML格式的字符串4读取方式的简单比较
Java中XML格式的字符串4读取方式的简单比较 1.java自带的DOM解析. import java.io.StringReader; import javax.xml.parsers.Docum ...
- 使用OPEN XML SDK 读取EXCEL中的超链接Hyperlink
使用OPEN XML SDK 读取EXCEL中的超链接Hyperlink 原理 先创建一个包括全部EXCEL单元格中超链接Hyperlink数据的表,再定位单元格通过列头(如A1,B1)获取超链接信息 ...
- Webwork 学习之路【05】请求跳转前 xwork.xml 的读取
个人理解 WebWork 与 Struts2 都是将xml配置文件作为 Controler 跳转的基本依据,WebWork 跳转 Action 前 xml 文件的读取依赖 xwork-1.0.jar, ...
- log4net保存到数据库系列三、代码中xml配置log4net
园子里面有很多关于log4net保存到数据库的帖子,但是要动手操作还是比较不易,从头开始学习log4net数据库日志一.WebConfig中配置log4net 一.WebConfig中配置log4ne ...
- 使用XmlPullParser对xml进行读取
XML文件是一种标记性语言;在开发中经常在接口交互时被用作报文传输或者把自定义的类序列化为XML的形式存储到数据库.正因为XML文件这么常用,使用JAVA对XML文件进行读写操作是每一个开发人员必须掌 ...
- XML数据读取方式性能比较(一)
原文:XML数据读取方式性能比较(一) 几个月来,疑被SOA,一直在和XML操作打交道,SQL差不多又忘光了.现在已经知道,至少有四种常用人XML数据操作方式(好像Java差不多),不过还没有实际比较 ...
- 第70节:Java中xml和tomcat
第70节:Java中xml和tomcat 前言: 哭着也要看完,字数: jdbc crud - statement dao java.sql.Driver The interface that eve ...
随机推荐
- XcenServer和XcenCenterter的安装
XcenServer安装 安装在客户端(作为服务器的电脑) 准备工具:U盘(4G以上).uiso9(iso刻录) 步骤一:下载ISO文件, 下载地址:https://xenserver.org/ove ...
- VVDocumenter规范注释生成器
下载地址:https://github.com/onevcat/VVDocumenter-Xcode PS:Xcode 8.0 默认支持了,但是是关闭状态,需要在终端输入如下命令开启,然后重启 Xco ...
- Android开发学习笔记-自定义控件的属性
若想让自定义控件变得更加方便灵活,则就需要对控件进行定义属性,使其用起来更方便. 下面是自定义控件属性的方法 1.添加attrs.xml,内容格式样式可以参考sdk\platforms\android ...
- jquery判断某个属性是否存在 hasAttr
在JQuery编码中,我们会判断元素是否存在某个属性.比如是否包含 class="new" 的样式呢.JQuery判断就非常简单了,因为有 hasClass这个方法 $(" ...
- 临时解决Apache服务器假死的参数配置
<IfModule mpm_prefork_module> StartServers MinSpareServers MaxSpareServers MaxClients MaxReque ...
- 既使用maven又使用lib下的Jar包
maven 使用本地包 lib jar包 依赖一个lib目录 解决方法: # 把本地的lib加入maven编译时的依赖路径 From:http://blog.chinaunix.net/uid-231 ...
- goquery 文档
https://www.itlipeng.cn/2017/04/25/goquery-%E6%96%87%E6%A1%A3/ http://blog.studygolang.com/2015/04/g ...
- javascript消除字符串两边空格的两种方式,面向对象和函数式编程。python oop在调用时候的优点
主要是javascript中消除字符串空格,比较两种方式的不同 //面向对象,消除字符串两边空格 String.prototype.trim = function() { return this.re ...
- PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEvent 出现 NullPointerException【转载】
PopupWindow错误:PopupWindow$1.onScrollChanged 出现 NullPointerException和PopupViewContainer.dispatchKeyEv ...
- 给树莓派安装看门狗的两种方法,二代B
树莓派的CPU是保护有硬件看门狗的,可以通过安装模块和值守程序来实现看门狗防止树莓派死机. 安装方法一:watchdog.sh的源码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...