相关疑难解决方法(0)

LINQ读取XML

我有这个XML文件

<root>
    <level1 name="A">
        <level2 name="A1" />
        <level2 name="A2" />
    </level1>
    <level1 name="B">
        <level2 name="B1" />
        <level2 name="B2" />
    </level1>
    <level1 name="C" />
</root>
Run Code Online (Sandbox Code Playgroud)

有人可以使用LINQ给我一个C#代码,这是打印此结果的最简单方法:(
如果它是一个level2节点,请注意额外的空间)

A
  A1
  A2
B
  B1
  B2
C
Run Code Online (Sandbox Code Playgroud)

目前我得到了这段代码

XDocument xdoc = XDocument.Load("data.xml"));
var lv1s = from lv1 in xdoc.Descendants("level1")
           select lv1.Attribute("name").Value;

foreach (var lv1 in lv1s)
{
    result.AppendLine(lv1);

    var lv2s = from lv2 in xdoc...???
}
Run Code Online (Sandbox Code Playgroud)

c# xml linq linq-to-xml

188
推荐指数
5
解决办法
40万
查看次数

如何将XML文件读取到Dictionary <String,List <String >>,其中包含空元素的空字符串

我有一个xml文件,如:

<root>
  <RowDetails RowName="A" ColumnSize="1">
    <ColumnDetails ColumnName="A1" />
  </RowDetails>
  <RowDetails RowName="B" ColumnSize="2">
    <ColumnDetails ColumnName="B1" />
    <ColumnDetails ColumnName="B2" />
  </RowDetails>
  <RowDetails RowName="C" ColumnSize="3">
    <ColumnDetails ColumnName="C1" />
    <ColumnDetails ColumnName="C2" />
    <ColumnDetails ColumnName="C3" />
  </RowDetails>
</root>
Run Code Online (Sandbox Code Playgroud)

和一个像这样的词典:

Dictionary<String, List<String>>MyDict = new Dictioanary<String, List<String>>();
Run Code Online (Sandbox Code Playgroud)

我正在读取XML文件,MyDict如:

XDocument XDoc = XDocument.Load(Application.StartupPath + @"\foo.xml");
MyDict = XDoc.Descendants("RowDetails").ToDictionary(X => X.Attribute("RowName").Value, 
                                                     X => X.Descendants("ColumnDetails")
                                                           .Select(Y => Y.Attribute("ColumnName").Value).ToList());
Run Code Online (Sandbox Code Playgroud)

现在字典将包含:

"A"           { "A1" }
"B"           { "B1", "B2" }
"C"           { "C1", "C2", "C3" }
Run Code Online (Sandbox Code Playgroud)

但我的问题是我需要所有列表具有相同的计数.应为空条目添加空字符串,因此预期结果为:

"A"           { "A1", …
Run Code Online (Sandbox Code Playgroud)

c# xml linq dictionary

4
推荐指数
1
解决办法
4955
查看次数

XML到字符串列表

我有一些代码需要放入C#中的字符串列表中,我正在从XML文件中读取此代码,其布局如下所示......

<?xml version="1.0"?>
<accountlist>
    <main>
        <account id="1" special_id="4923959">
            <username>Adam</username>
            <motto>Hello Everyone>
            <money>1004</money>
            <friends>394</friends>
            <rareid>9</rareid>
            <mission>10</mission>
        </account>
    </main>
</accountlist>
Run Code Online (Sandbox Code Playgroud)

如何将每个帐户标记放入字符串列表?从第一个<account>到</ account>标记?

请不要告诉我转到下面的链接,因为它不起作用! 如何读取XML文件并写入List <>?

到目前为止,我已经尝试了下面的代码,字符串列表保持为空

XDocument doc = XDocument.Parse(this._accountsFile);

            List<string> list = doc.Root.Elements("account")
                               .Select(element => element.Value)
                               .ToList();

            this._accounts = list;
Run Code Online (Sandbox Code Playgroud)

c# xml

4
推荐指数
1
解决办法
395
查看次数

标签 统计

c# ×3

xml ×3

linq ×2

dictionary ×1

linq-to-xml ×1