doc.AllNodes.FirstOrDefault 遍历yaml输出节点的值
时间: 2024-09-23 20:12:28 浏览: 36
`doc.AllNodes.FirstOrDefault()` 是YAML DotNet提供的一个方法,用于遍历YAML文档的节点树,并返回第一个非空节点。在这里,`doc`通常是`YamlDocument`实例,它封装了整个YAML文档的内容。当你调用这个方法时,它会从根节点开始查找,找到第一个节点(可能是数组的第一个元素,或者是最深层次的一个属性)。
假设你的`doc`已经通过之前的步骤填充了内容,以下是使用`FirstOrDefault`获取某个字段值的简单例子:
```csharp
if (doc != null && doc.AllNodes.Any())
{
dynamic firstNode = doc.AllNodes.FirstOrDefault();
// 检查firstNode是否包含你要找的键
if (firstNode != null && firstNode.ContainsKey("releaseID"))
{
string releaseId = firstNode["releaseID"];
Console.WriteLine($"First Release ID: {releaseId}");
}
if (firstNode != null && firstNode.ContainsKey("buildSystem"))
{
string buildSystem = firstNode["buildSystem"];
Console.WriteLine($"First Build System: {buildSystem}");
}
}
else
{
Console.WriteLine("No nodes found or document is null.");
}
```
这将输出第一个遇到的`releaseID`和`buildSystem`的值。如果遍历过程中没有找到匹配的键,则不会输出任何内容。
阅读全文