C# Linq Xml 简单测试

C# Linq 真的很强大啊!简单的测试下。

创建

XDocument xDoc = new XDocument(
     new XDeclaration("1.0", "utf-8", null),
     new XElement("test",
         new XElement("person",
             new XElement("name", "小明"),
             new XElement("age", "8")),
         new XElement("person",
             new XElement("name", "小华"),
             new XElement("age", "9")),
         new XElement("sum", "2")
     )
 );

  xDoc.Save("Test.xml");

通过参数数组,类似结构的缩进,直接创建了xml文档。

xml:

<?xml version="1.0" encoding="utf-8"?>
<test>
  <person>
    <name>小明</name>
    <age>8</age>
  </person>
  <person>
    <name>小华</name>
    <age>9</age>
  </person>
  <sum>2</sum>
</test>

读取

XElement file = XElement.Load("Test.xml");
XElement xiaoming = file.Descendants("person")
    .Where(x => x.Element("name").Value == "小明").SingleOrDefault();

xiaoming.ToString()直接读出:

<person>
  <name>小明</name>
  <age>8</age>
</person>

如果直接读取xioamingvalue值会输出多少?

它会把它下面节点的value值全部读出来:

小明8

我猜它应该是个结果集序列。

First,FirstOrDefault,Single,SingleOrDefault 有什么不一样?

SingleOrDefault 含有多个元素的时候会抛异常。


下面两片博文可以参考:

c#操作符 ??和First,FirstOrDefault,Single,SingleOrDefault。

c# XElement XML操作总结。

posted @   double64  阅读(74)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示