c# - 有没有办法检查 C# Linq 中的元素以查看值是什么?
问题描述
我的程序可以有两种不同的 xml 文件。区分差异的唯一方法是查看它来自什么设备。如何从此 xml 文档中获取设备名称?
<?xml version="1.0" encoding="UTF-8"?>
<DataFileSetup>
<System Name="Local">
<SysInfo>
<Devices>
<RealMeasurement>
<Hardware></Hardware>
<Device Type="MultiDevice">
<DriverBuffSizeInSec>5</DriverBuffSizeInSec>
<Card Index="0">
<DeviceName>SIRIUSi</DeviceName>
<DeviceSerialNumber>D017F09216</DeviceSerialNumber>
<FirmwareVersion>7.3.45.75</FirmwareVersion>
<VCXOValue>8802</VCXOValue>
</Card>
</Device>
</RealMeasurement>
</Devices>
</SysInfo>
</System>
</DataFileSetup>
简单的
var deviceType = xdoc.Element("DeviceName").Value;
要么是错误,因为那里什么都没有,或者如果我删除.Value
它只是空的。
有没有一种简单的方法来获得这个值?
解决方案
请尝试以下方法。
C#
void Main()
{
const string fileName = @"e:\temp\device.xml";
XDocument xdoc = XDocument.Load(fileName);
Console.WriteLine(xdoc.Descendants("DeviceName").FirstOrDefault()?.Value);
}
输出
SIRIUSi
推荐阅读
- c# - Homomorphic image filter source code has no effect
- ios - 如何在 iOS 中枚举家庭视频?
- c - sprintf 和 uint64_t 未使用 PRIu64 正确格式化
- react-native - 如何在 react-native 中获取具有不同标题样式和内容的每个标签页?
- postgresql - Postgresql 跨版本转储比较
- image - Webpack dev-server 不显示内联图像
- c++ - 使用 C++11 标准的哪些规则来确定 ({ ... }) 中表达式的类型
- android - 如何从 Android 活动导航到特定的颤振路线?
- django - 除了最后一个服务器名称之外的所有内容的默认 NGINX 页面
- git - Git repo推送错误