直接读取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 转化函数

    ord(c)#字符转ASCII码值,10进制:自变量只能是一个字符 chr(a)#通过ASCII码值得到对应的字符 bin()函数:将整数(十 等进制)转化为二进制 bool():将指定参数转化为bo ...

  2. Day4 包机制 及JavaDoc文档.

    包机制 为了更好地组织类,java提供了包机制,用于区别类名的命名空间. 包的本质是文件夹 它语句的语法格式为: package pkg1[. pkg2 [.pkg3...] ] ; 一般利用公司域名 ...

  3. 微信小程序云开发-数据库-更新数据

    一.js文件代码使用.update更新数据 写一个更新数据的函数,函数内使用.update更新数据.一定要通过.doc指定修改哪一条数据.  二.wxml文件修改数据的按钮 在wxml文件中写[修改] ...

  4. Linux CentOS 7 在Apache服务器上安装SSL证书

    在开发微信小程序的时候,wx.request请求的地址必须是https的,所以只能重新配置服务器. 域名和服务器都是在阿里云上买的,系统是CentOS7,安装了Apache服务器.网上也找了一下,很多 ...

  5. 认识微信小程序开发页面

    先认识一下开发界面,当前是上节中刚刚新建好的一个小程序. 模拟窗口当前页面的路径可以查看左下角Page Path,可以看到当前页面的路径为pages/index/index,正好和app.json里面 ...

  6. 深入刨析tomcat 之---第7篇 这个是链接,如果使用idea 创建servlet工程

    recoded by 张艳涛 使用IDEA创建Servlet项目 使用IDEA创建Servlet项目

  7. 【阿菜用工具】利用 Web3.js 在 ganache 上部署以及调用智能合约

    合约部署 要部署的合约 pragma solidity ^0.4.23; contract test { uint256 value; function setValue(uint256 _value ...

  8. vue源码阅读笔记

    1.yarn test [文件名]  -t [name-of-spec(describe or test )] 直接运行yarn test,会测试所有测试文件:yarn test 后面只跟文件名的话会 ...

  9. Pytorch指定GPU的方法总结

    Pytorch指定GPU的方法 改变系统变量 改变系统环境变量仅使目标显卡,编辑 .bashrc文件,添加系统变量 export CUDA_VISIBLE_DEVICES=0 #这里是要使用的GPU编 ...

  10. [.NET大牛之路 005] .NET 的执行模型

    .NET大牛之路 • 王亮@精致码农 • 2021.07.06 前面我们介绍 .NET 历史时讲过,微软基于 .NET Framework 重新设计并创造了跨平台的 .NET Core,目前已经发展到 ...