首页 > 解决方案 > 根级别的数据无效

问题描述

我不断收到以下错误->尝试解析 XML 字符串时,根级别的数据无效

foreach (var item in adxGroupQueryResult.quickQueryInfos)
{
    string x = item.label.ToString();
    var doc = XDocument.Parse(x);

    var dic = (from country in doc.Root.Elements()
            select new { language = country.Attribute("language").Value, text = country.Attribute("text").Value })
        .Distinct()
        .ToDictionary(country => country.language, country => country.text);
}

中的值x

<?xml version="1.0" encoding="UTF-8"?>
<i18nText>
    <Country code="DE" language="de" text="nach Datum" />
    <Country code="US" language="en" text="by Date" />
</i18nText>

更新:

在此处输入图像描述

标签: c#.netxmllinq

解决方案


(这不是答案,评论会很乱)

void Main()
{
    string x = @"<?xml version=""1.0"" encoding=""UTF-8""?>
    <i18nText>
        <Country code=""DE"" language=""de"" text=""nach Datum"" />
        <Country code=""US"" language=""en"" text=""by Date"" />
    </i18nText>";

    var doc = XDocument.Parse(x);

    var dic = (from country in doc.Root.Elements()
               select new { language = country.Attribute("language").Value, text = country.Attribute("text").Value })
        .Distinct()
        .ToDictionary(country => country.language, country => country.text);

    foreach (var kv in dic)
    {
        Console.WriteLine($"{kv.Key}:{kv.Value}");
    }
}

输出是:

de:nach Datum
en:by Date

没有错误。可能 x 不包含您认为它包含的内容。


推荐阅读