c#xml->;字典<;字符串,元组<;字符串,字符串,字符串>>;林克

本文关键字:字符串 gt lt 林克 元组 字典 c#xml- | 更新日期: 2023-09-27 17:59:40

我有这个XML文档

<?xml version="1.0" encoding="utf-8"?>
<Tag xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <data ID="1" Tag1="A" Tag2="123" Tag3="C" />
  <data ID="2" Tag1="AB" Tag2="12C3" Tag3="D" />
</Tag>

我想把文档转换成字典类型<string, Tuple<string,string,string>>

所以基本上ID->Tag1,Tag2,Tag3

我知道有很多这样做的关键->价值:

var configDictionary = xdoc.Descendants("data").ToDictionary(
            datum => datum.Attribute("ID").Value,
            datum => datum.Attribute("value").Value);

但我需要在3个字符串中获取值。

c#xml->;字典<;字符串,元组<;字符串,字符串,字符串>>;林克

这很简单。您所缺少的只是使用Tuple.Create:声明元组

var configDictionary = xdoc.Descendants("data")
             .ToDictionary(
                   datum => datum.Attribute("ID").Value,
                   datum => Tuple.Create(datum.Attribute("Tag1").Value,
                                         datum.Attribute("Tag2").Value,
                                         datum.Attribute("Tag3").Value));

请注意,这没有验证属性是否确实存在,需要添加这些属性。