C#获取yaml文件中父节点buildRelease下所有子节点为releaseID的值以及子节点buildEnvironment下的所有子节点为buildSystem的值
时间: 2024-09-24 08:04:17 浏览: 46
在C#中,要从YAML文件中获取特定结构的数据,你可以使用`System.IO.Parsing.YamlParser`或第三方库如`YamlDotNet`。假设我们有一个简单的YAML格式,其中包含你描述的结构:
```yaml
builds:
buildRelease:
- releaseID: value1
buildEnvironment:
buildSystem: system1
- releaseID: value2
buildEnvironment:
buildSystem: system2
# ...更多buildRelease节点...
```
首先,你需要安装相关的YAML解析库,比如`YamlDotNet`:
```bash
Install-Package YamlDotNet
```
然后,你可以使用下面的代码片段来读取并提取数据:
```csharp
using System;
using System.IO;
using YamlDotNet.Reading;
public static class YamlReaderExample
{
public static void Main()
{
string yamlPath = "path_to_your_yaml_file.yaml";
var parser = new YamlParser();
var content = File.ReadAllText(yamlPath);
var deserializedData = parser.Parse(content);
dynamic builds = deserializedData.builds; // 假设根键名为"builds"
foreach (var item in builds.buildRelease)
{
string releaseID = item.releaseID;
string buildSystem = ((dynamic)item.buildEnvironment).buildSystem;
Console.WriteLine($"releaseID: {releaseID}, buildSystem: {buildSystem}");
}
}
}
```
在这个例子中,我们动态地遍历了`buildRelease`数组,并对每个元素的`releaseID`和`buildEnvironment.buildSystem`进行了访问。
阅读全文
相关推荐
















