xml linq 读写操作

掌握LINQ to XML:查询与操作XML文档的利器 本文介绍了如何使用LINQ to XML技术来查询和操作XML文档。通过实例演示了从静态XML文件中查询数据,以及如何处理动态的XML源,如RSS feeds。此外,还探讨了如何读取和写入XML文档,以及如何使用XSLT进行XML文档的转换,最终生成HTML报告供用户查看。 阅读详情

 

  public class LotteryInfo
    {
        /// <summary>
        /// 根据奖名称,获取信息,如:一等奖
        /// </summary>
        /// <param name="Name">奖名称</param>
        /// <returns></returns>
        public static LotteryInfo LotteryInfoInit(string Name)
        {
            XDocument xdoc = XDocument.Load(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
            LotteryInfo info = xdoc.Descendants("Main").Where(s => s.Attribute("name").Value == Name).Select(w => new LotteryInfo()
                {
                    Name = w.Descendants("Name").Select(s => s.Value).FirstOrDefault(),
                    Value = w.Descendants("Value").Select(s => s.Value).FirstOrDefault(),
                    PrizeName = w.Descendants("PrizeName").Select(s => s.Value).FirstOrDefault(),
                    IsSpecified = w.Descendants("IsSpecified").Select(s => s.Value).FirstOrDefault(),
                    WinningName = w.Descendants("WinningName").Select(s => s.Value).FirstOrDefault(),
                    Order = w.Descendants("Order").Select(s => s.Value).FirstOrDefault(),
                }).FirstOrDefault();
            return info;            
        }

        /// <summary>
        /// 将XML数据读取到Datatable
        /// </summary>
        /// <returns></returns>
        public static IList<LotteryInfo> GetList()
        {
            XDocument xdoc = XDocument.Load(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
            IList<LotteryInfo> info = xdoc.Descendants("Main").Select(w => new LotteryInfo()
            {
                Name = w.Descendants("Name").Select(s => s.Value).FirstOrDefault(),
                Value = w.Descendants("Value").Select(s => s.Value).FirstOrDefault(),
                PrizeName = w.Descendants("PrizeName").Select(s => s.Value).FirstOrDefault(),
                IsSpecified = w.Descendants("IsSpecified").Select(s => s.Value).FirstOrDefault(),
                WinningName = w.Descendants("WinningName").Select(s => s.Value).FirstOrDefault(),
                Order = w.Descendants("Order").Select(s => s.Value).FirstOrDefault(),
            }).ToList();
            return info;  
        }

        /// <summary>
        /// 更新信息
        /// </summary>
        /// <param name="Name">奖名称</param>
        /// <param name="NodeName">节点名称</param>
        /// <param name="value"></param>
        public static void SetValue(string Name, string NodeName, string value)
        {
            XDocument xdoc = XDocument.Load(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
            xdoc.Descendants("Main").Where(s => s.Attribute("name").Value == Name).Descendants(NodeName).FirstOrDefault().SetValue(value);
            xdoc.Save(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
        }

        /// <summary>
        /// 添加结点
        /// </summary>
        /// <param name="info"></param>
        public static void AddElement(LotteryInfo info)
        {
            XDocument xdoc = XDocument.Load(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
            XElement xel = new XElement("Main", "", new XAttribute("name", info.Name));

            XElement xel1 = new XElement("Name", info.Name);
            XElement xel2 = new XElement("Value", info.Value);
            XElement xel3 = new XElement("PrizeName", info.PrizeName);
            XElement xel4 = new XElement("IsSpecified", info.IsSpecified);
            XElement xel5 = new XElement("WinningName", info.WinningName);
            XElement xel6 = new XElement("Order", info.Order);

            xel.Add(xel1);
            xel.Add(xel2);
            xel.Add(xel3);
            xel.Add(xel4);
            xel.Add(xel5);
            xel.Add(xel6);

            xdoc.Element("Lottery").Add(xel);
            xdoc.Save(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
        }

        /// <summary>
        /// 删除结点
        /// </summary>
        /// <param name="Name">奖名称</param>
        public static void DelElement(string Name)
        {
            try
            {
                XDocument xdoc = XDocument.Load(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
                xdoc.Descendants("Main").Where(s => s.Attribute("name").Value == Name).FirstOrDefault().Remove();
                xdoc.Save(Application.StartupPath + @"\LotteryConfig\Lottery.xml");
            }
            catch { return; }
        }

        public string Name { set; get; }
        public string Value { set; get; }
        public string PrizeName { set; get; }
        public string IsSpecified { set; get; }
        public string WinningName { set; get; }
        public string Order { set; get; }
    }



<?xml version="1.0" encoding="utf-8"?>
<Lottery>
  <Main name="一等奖">
    <Name>一等奖</Name>
    <Value>50</Value>
    <PrizeName>奇瑞QQ</PrizeName>
    <IsSpecified>0</IsSpecified>
    <WinningName>A003.jpg</WinningName>
    <Order>0</Order>
  </Main>
  <Main name="二等奖">
    <Name>二等奖</Name>
    <Value>4</Value>
    <PrizeName>切糕</PrizeName>
    <IsSpecified>0</IsSpecified>
    <WinningName></WinningName>
    <Order>1</Order>
  </Main>
  <Main name="三等奖">
    <Name>三等奖</Name>
    <Value>6</Value>
    <PrizeName>电车</PrizeName>
    <IsSpecified>1</IsSpecified>
    <WinningName>A004.jpg</WinningName>
    <Order>2</Order>
  </Main>
</Lottery>  


C# XML文件读写操作完整教程与实战 支持读取任意自定义节,如:封装通用读取方法:.Value;// 使用该设计具备良好的扩展性,可用于自动化配置注入框架的基础组件。 阅读详情

相关推荐

C#中的XML文件读写实战演示

在开始C#操作XML之前,必须确保开发环境已经正确设置。正确配置的开发环境不仅可以简化开发过程,还可以提高开发效率和质量。我们将介绍两个关键因素:选择合适的Visual Studio版本和确定.NET框架版本。

weixin_36487018的博客 1160

C#使用linq to xml 读取xml文件中的指定数据

最近在做一个demo的时候需要读取xml文件中的指定数据,从网上找到的程序都太复杂,只好用linq to xml来操作了(不得不说这真的是个好东西!),下面说一下代码。 这是要读取的目标xml文件: &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;memoSets&gt; &lt;memoSet Form="MainForm"&gt; ..

qq_36699238的博客 3913

C# LinqXML使用LINQ技术对XML文件进行读取

亲测好用,利用c# 的LinqXML技术 使用LINQ技术对XML文件进行读取

使用LINQ读取和查询XML

使用Xdocument上的Load方法,可以快速的加载一个XML文档,然后使用LINQ对 加载XML文档进行查询或其他操作, 需要引用System.Xml.Linq; 代码如下: /// /// 使用linq查询XML /// /// public void GetXMLData() { string xml_pa

json的博客 666

国内用户稳定开通ChatGPT Plus会员的完整实操指南

ChatGPT作为当前最先进的AI对话模型,其技术原理基于Transformer架构和大规模语言预训练。通过深度学习技术,ChatGPT能够理解自然语言并生成高质量回复,在代码生成、文档分析等场景具有重要技术价值。对于需要高频使用的开发者而言,ChatGPT Plus会员提供了优先访问权和GPT-4模型支持等核心功能。在实际应用场景中,国内用户常面临支付限制和区域封锁等挑战。本文针对这些痛点,重点解析如何通过可靠的支付渠道和账号安全策略,实现稳定的会员开通方案,帮助用户突破技术使用壁垒,充分发挥AI助手在开

weixin_29042035的博客 952

【车辆仿真】从0开始建立dSPACE RT Simulink工程:CAN通信(RTICANMM方法)

【工程环境信息】:本文基于链接文章搭建SCALEXIO Rack RTPC总线节点,用于与AutoBox通信硬件:上位机:惠普台式PC(Windows 11专业版)下位机(实时机):AutoBox (DS1006)板卡:DS6342软件:本文所使用的DBC链接提示:以下是本篇文章正文内容,下面案例可供参考!!!的部分一定记得配置,其他的按需配置RTICANMM的灵活度非常高,尽可能参考Help文档,理解相应的配置内容官方有RTICANMM的样例工程,在下方路径。

winnizap的博客 2381

linq 简单读取 xml

using System.Linq; private void Readxml(string xmlpath) {    DataSet userds= new DataSet(); userds.ReadXml(strPath); dataGridView1.DataSource = userds.Table...

weixin_30662011的博客 151

《炬丰科技-半导体工艺》用于半导体的RCA清洁技术

书籍:《炬丰科技-半导体工艺》 文章:用于半导体的RCA清洁技术 编号:JFKJ-21-1073 引言 RCA清洗技术是用于清洗硅晶圆等的技术,由于其高可靠性,30多年来一直被用于半导体和平板显示器(FPD)领域的清洗。其基础是以除去颗粒为目的的氨水-过氧化氢溶液组成的SC―1洗涤和以除去金属杂质为目的的盐酸-过氧化氢溶液组成的SC―2洗涤相结合的洗涤技术。SC-1洗涤的机理说明如下。首先,用过氧化氢氧化硅晶片的表面,用作为碱的氨蚀刻氧化硅,并通过剥离去除各种颗粒。此外,如图1所示,在pH 10.5附近的S

jfkj2021的博客 768

C#基础精华06(Linq To XML,读取xml文件,写入xml)

Linq To XML 核心类XElement,一个XElement表示一个元素,new XElement(“Order”),创建一个名字为Order的标签,调用Add增加子元素,也是XElement 对象,和TreeView一样。       苹果味     男     24         小玄女     女     23   =======

XHQT520的博客 4047

Wireshark抓包实战:5个CTF比赛中高频出现的流量分析技巧(附真实案例)

本文分享了Wireshark在CTF比赛和实战渗透中的五个核心流量分析技巧。内容涵盖从宏观统计概览锁定可疑目标、深度解析ICMP与HTTP等协议、追踪重组完整会话流,到利用字符串搜索和命令行工具进行自动化分析。掌握这些高阶技巧能显著提升分析海量网络流量的效率与精准度。

rrr55的博客 260

VS Code下载安装与使用教程

VSCode下载安装与使用教程

weixin_46713695的博客 4万+

LINQ to XML操作Xml文档

LINQ to XML提供了更方便的读写xml方式..Net中的System.Xml.Linq命名空间提供了linq to xml的支持。这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读写xml文档的关键方法。1. 使用linq t

玉开的技术博客 3797

基于深度学习的三维重建算法——详解与实现

随着深度学习技术的迅猛发展,基于深度学习的三维重建算法在最近几年取得了显著的进展。而基于深度学习的三维重建算法通过利用深度神经网络,能够从大规模数据中学习到更准确、鲁棒的三维结构表示。本文综述了基于深度学习的三维重建算法,并给出了相应的源代码。随着深度学习技术的不断发展,我们相信基于深度学习的三维重建算法将会在未来得到更广泛的应用。实验结果表明,基于深度学习的三维重建算法在准确性和鲁棒性方面取得了显著的提升。以上是关于基于深度学习的三维重建算法的详细介绍与实现,希望对您有所帮助。

CyberGenius的博客 1227

C#使用Linq To XML读取XML,Linq生成XML,Linq创建带属性或带节点XML

using System; using System.Xml.Linq; namespace Sample2 { class Program { static void Main(string[] args) { #region 写文件一(生成节点性质的) XDocument xdoc = new X

深南大道 2942

使用VNA(Vector Network Analyzer)对S参数进行去嵌(一)

传统上,RF和微波组件被设计成具有同轴接口的封装。通过连接一系列这些单独的同轴设备,可以容易地制造复杂的系统。使用使用类似同轴接口的标准测试设备可以很容易地测量这些部件和系统的性能。然而,现代系统需要更高水平的组件集成、更低的功耗和更低的制造成本。射频组件正在迅速从使用昂贵同轴接口的设计转向使用印刷电路板和表面贴装技术(SMT)的设计。传统的同轴接口甚至可以从最终产品中取消。这就给设计者留下了用需要同轴接口的测试设备测量这些射频和微波组件性能的问题。解决方案是使用连接同轴和非同轴传输线的测试夹具。

小孟同学的博客 1万+

JavaFX 表视图

我们可以使用来自 JavaFX API 的 TableView,TableColumn 和 TableCell 类以表格形式表示数据。通过实现数据模型和应用单元工厂来填充表中的数据。表类可以按列排序数据,并在必要时调整列大小。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 404

LINQ to XML

前言 可扩展标记语言(Extensible Markup Language,XML)是一种标记语言,它定义了一组规则,用于以人和机器都可以理解的格式对文档进行编码。下面是一个简单的XML示例: <note> <to>George</to> <from>John</from> <heading>Reminder</hea...

weixin_30677617的博客 122

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linq的XML增删该查

创建person.xml文件 <?xml version="1.0" encoding="utf-8"?> <persons> <person> <PID>1</PID> <PName>账单</PName> <PAge>22</PAge>...

aibusi2584的博客 100

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

<转载>XML操作

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Web; using System.Xml...

anke7849631的博客 123

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Linq to XML

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Configuration; 6 using CS.Model; 7 using System.Xml; 8 usin...

YingQY1993的博客 110

C#操作XML

摘要:1..NET对读写XML文件的支撑 (1)System.Xml定名空间 System.Xml定名空间为处置惩罚XML供应基于规范的支撑,个中供应了很多治理XML文档战XML流体式格局的类,借供应了一些类(比方XmlDataDocument)则是供应了 1..NET对读写XML文件的支持 (1)System.Xml命名空间     System.Xml命名空间为处理XML提供基于标准

zzy7075的专栏 1346

C#Linq to XML的简单读写

Linq to XML Linq是C#3.0中出现的一个新特性,可以很方便操作XML文件 写入数据 需要引入using System.Xml.Linq;命名空间 string dirPath = "xmlData.xml"; XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance"; XNamespace xs..

qq_44305000的博客 1990

XML

XML是一种简单数据存储语言,以文本的形式将数据存储到文件。 XML文件结构 XML声明<?xml version="1.0" encoding="utf-8"?>包括版本和编码声明 XML元素 <开始>结束为一个元素,包括名称和属性,也可包括子元素(开始节点和结束节点中)。 XML节点:一个抽象概念,xml组成一棵树,每个节点有名称和类型 通过流操作XML ...

weixin_30500663的博客 83

winform程序 读、写xml文件

有用到先上代码,后面总结相关知识,,, 创建: XmlDocument xmlDoc = new XmlDocument();                 //创建类型声明节点                 XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");                 xm

焦玉丽 1636

DataSet接收XML数据并按条件搜索

 DataRow etrow = data.Tables[0].Rows[0];XmlDataDocument xmlDoc = new XmlDataDocument();DataSet myDataSet = xmlDoc.DataSet;try{    xmlDoc.DataSet.ReadXml("ee.xml");}catch{return data;}DataRow[] row = x

sxdtwlx_bj的专栏 634

学习记录

半夜睡不着觉 才想起原来是忘记记录下自己的学习了 在过去一个星期的学习中 先后完成了 需要用到泛型,lambda表达式,Linq 的控制台应用程序 ,利用网络api完成的天气预报程序 也算是对C#编程有了个大概的了解 其中  对于早在其他语言里面有所接触的泛型,用的话还是会用的,只是不知道该什么时候用,这方面以后还有待补强 在使用lambda表达式和构建lambda表达式树中,对C#的匿

youruanyoujian的专栏 369
上一篇: jkkk
下一篇: 动画窗体调用,关闭时将向上移出屏幕
DoYouSelf
博客等级 码龄15年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值