直接读取xml文件中的内容

         XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(result);
XmlNode root = xmlDoc.SelectSingleNode("//response");
if (root != null)
{
string error = (root.SelectSingleNode("error")).InnerText;
}

代码来源:https://www.cnblogs.com/kongxiaoshuang/p/6512328.html

这种方法存在一个缺点就是当xml文件中存在<!DOCTYPE>,eg:<!DOCTYPE nvidia_smi_log SYSTEM "nvsmi_device_v10.dtd"> 而你有缺少了dtd文件会导致读取xml文件报错

<!DOCTYPE>详细:http://www.w3school.com.cn/tags/tag_doctype.asp

因此需要取消对该标签的读取,这是读取nvidia-smi -p -x输出出来的显卡的显存信息

 private static void Getxml(ref string total, ref string free)
{
try
{
XmlDocument xmldoc = new XmlDocument();
XmlReaderSettings setting = new XmlReaderSettings();
setting.DtdProcessing = DtdProcessing.Ignore; //忽视dtd
XmlReader reader = XmlReader.Create(savepath, setting);
xmldoc.Load(reader);
XmlNodeList topM = xmldoc.SelectNodes("//fb_memory_usage");
foreach (XmlElement element in topM)
{
total = element.GetElementsByTagName("total")[0].InnerText.Replace(" MiB","");
free = element.GetElementsByTagName("free")[0].InnerText.Replace(" MiB", "");
}
reader.Close(); }
catch (Exception)
{
total = "0.0";
free = "0.0";
}
finally
{
if (File.Exists(savepath))
{
File.Delete(savepath);
}
}
}

保存xml

   FileStream writeStream = new FileStream("E:\\aaaa.txt", FileMode.Create);
XmlSerializer serializer = new XmlSerializer(data.GetType()); //xml对象
serializer.Serialize(writeStream, data);
writeStream.Close();

C# 读取保存xml文件的更多相关文章

  1. boost::property_tree读取解析.xml文件

    boost::property_tree读取解析.xml文件 1)read_xml 支持中文路径  boost::property_tree::wptree wpt;    std::locale:: ...

  2. XML解析之sax解析案例(一)读取contact.xml文件,完整输出文档内容

    一.新建Demo2类: import java.io.File; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXPar ...

  3. c# 键值数据保存XML文件

    /// <summary> /// 键值数据保存XML文件 /// </summary> /// <param name="fileName"> ...

  4. linq to xml 简单的增、删、改、查、保存xml文件操作

    using System; using System.Collections; using System.Configuration; using System.Data; using System. ...

  5. 第四十六篇--解析和保存xml文件

    新建assets资源文件夹,右键app --> new --> Folder --> Assets Folder,将info.xml放入此文件夹下面. info.xml <?x ...

  6. qtreewidget 显示保存xml文件

    此文是读取和存储已知结构的xml,对于未知结构的xml,可以用递归方法读取和遍历.可参考文章:Qt遍历不规则树的节点. 1.QTreewidget设置 //折叠图标(三角图标)换成自定义图标 ui-& ...

  7. C# 读取大型Xml文件

    这篇博客将介绍在C#中如何读取数据量很大的Xml文件.请看下面的Xml文件, <?xml version="1.0" encoding="utf-8"?& ...

  8. UE4读取本地XML文件

    其实这里读取XML也是利用了Tinyxml来读取xml,主要是讲Tinyxml放在UE4中,遇到的一点点坑 1.先给出Tinyxml链接:http://www.grinninglizard.com/t ...

  9. python读取/创建XML文件

    Python中定义了很多处理XML的函数,如xml.dom,它会在处理文件之前,将根据xml文件构建的树状数据存在内存.还有xml.sax,它实现了SAX API,这个模块牺牲了便捷性,换取了速度和减 ...

随机推荐

  1. python import 导入两个模块同时有同一名称的方法如何调用 ?

    from moudule import *(这种方法不推荐) 一般不推荐使用"from 模块 import"这种语法导入指定模块内的所有成员,因为它存在潜在的风险. 比如同时导入 ...

  2. 使用 VSCode 搭建 Flutter环境

    概述 编辑器使用 vscode,不再安装 Android Studio. 安装 Git 点击这里 下载并安装 Git 配置 Java 环境 下载和安装 JDK 点击下载 Java SE Develop ...

  3. 家庭账本开发day03

    今天在编写form表单提交时遇到很多问题,在向servlet提交请求时找不到资源, 在网上查找学习了相关的信息,找到原因,添加注解或者配置xml文件的相关映射 解决问题.成功完成了账单添加的功能.

  4. File类与常用IO流第八章——缓冲流

    第八章.缓冲流 缓冲流概述 缓冲流,也叫高效流,是对4个基本的FileXxx流的增强.按照数据类型分为4类:   输入缓冲流 输出缓冲流 字节缓冲流 BufferedInputStream Buffe ...

  5. EasyUI学后总结第一集

    1,创建Easyui组件-使用html还是使用js方式? 如果在创建Easyui组件的时候,组件再被更改,那么属于静态组件,对于静态组件不要使用js方式创建--会增加js代码量. 如果创建的Easyu ...

  6. 【剑指offer】28. 对称的二叉树

    剑指 Offer 28. 对称的二叉树 知识点:二叉树:递归 题目描述 请实现一个函数,用来判断一棵二叉树是不是对称的.如果一棵二叉树和它的镜像一样,那么它是对称的. 示例 输入:root = [1, ...

  7. 简单快速安装Apache+PHP+MySql服务环境(一)

    由于自己只是普通的coder,对于服务器的操作不是很熟悉,在网上找了很多关于PHP和apache服务器环境搭建的帖子,不过都不尽相同,尤其是编译安装更是看的云里雾里的,所以选择了一种比较简单的方式进行 ...

  8. 7.29考试总结(NOIP模拟27)[牛半仙的妹子图·Tree·序列]

    前言 从思路上来讲是比较成功的,从分数上就比较令人失望了. 考场上是想到了前两个题的正解思路,其实最后一个题是半个原题,只可惜是我看不懂题... 这波呀,这波又是 语文素养限制OI水平.. 改题的时候 ...

  9. IDEA web项目小坑

    1.明明依赖包都加进来了,为什么运行起来报java.lang.ClassNotFoundException? 依赖包的路径只能为{project}web/WEB-INF/lib,如果将lib改为lib ...

  10. 大数据学习(24)—— Spark入门

    在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益. 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapRedu ...