C# Linq Xml 简单测试

Posted 智造之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 含有多个元素的时候会抛异常。

参考:

[1]

c#操作符 ??和First,FirstOrDefault,Single,SingleOrDefault: https://www.cnblogs.com/lelehellow/p/6549404.html

[2]

c# XElement XML操作总结: https://www.cnblogs.com/s7ven/articles/3575478.html


以上是关于C# Linq Xml 简单测试的主要内容,如果未能解决你的问题,请参考以下文章

错误 3002:映射片段中的问题 | c# linq 到实体

怎么用C#生成一个完整的xml文件

LINQ to XML - 从文件加载 XML 片段

具有复杂过滤 LINQ to XML c# 的查询

C#中的Linq to Xml详解

Linq to Xml C#在特定元素中查找特定元素