C# 如何编写C查询来检查XML的属性

C# 如何编写C查询来检查XML的属性,c#,xml,C#,Xml,/如何编写C查询来检查下面列出的XML的属性以及XML Icolumn元素内部的字符串,即RIA:RIB:RIC:RID:RIE:RIF0-15。事实上,我需要读字母A,B,C,D,E,F加上RI和第0-15列/ 可以使用此查询获取DL节点的属性和Icolumn节点的值 但是,我并不完全理解您希望如何处理Icolumn元素的值,因此我无法在此处提供任何代码。如果您没有尝试过,这里有一个例子,说明我是C新手,执行代码时遇到问题,因为它没有执行循环结果:。你能帮我更多吗?谢谢你,雷皮尔。实际上,在I

/如何编写C查询来检查下面列出的XML的属性以及XML Icolumn元素内部的字符串,即RIA:RIB:RIC:RID:RIE:RIF0-15。事实上,我需要读字母A,B,C,D,E,F加上RI和第0-15列/


可以使用此查询获取DL节点的属性和Icolumn节点的值


但是,我并不完全理解您希望如何处理Icolumn元素的值,因此我无法在此处提供任何代码。

如果您没有尝试过,这里有一个例子,说明我是C新手,执行代码时遇到问题,因为它没有执行循环结果:。你能帮我更多吗?谢谢你,雷皮尔。实际上,在Icolumn中,我需要提取字符串并解析/拆分字符串,以读取网格行A、B、C、D、E和F及其列0-15。希望现在您能理解。@Kash,在foreach循环中使用result,如下所示:result{/*do something*/}中的foreachvar项。请提供一个所需输出的示例,我将编辑我的答案以向您提供代码。请查看附件中我试图在此链接上构建的应用程序的详细说明CarlosJ:特别是对于像我这样的初学者来说,这是一个很好的教程:@Kash,对不起,我仍然不理解。请提供如下示例:给定元素Icolumn的值RIA:RIB:RIC:RID:RIE:RIF0-15,我想将此值分解为RIA、RIB等。您希望的输出是什么?还可以聊一聊:RIA,RIB。。。是可以看到标签写在面板1左侧的网格行。我想在按下按钮时将值从面板1提取到面板2,如快照中所示。我的愿望输出是面板2网格:我不能在stackflow上聊天,因为我的声誉太低,因为我在这个论坛上的基本QN,但谢谢你们;。我的身份证是syedkashanali@gmail.com. 如果你想和我在gmail上聊天,我会非常感谢你。或者给我发你的身份证,我会发邮件给你,留什么输出要求。
<?xml version="1.0" encoding="utf-8" ?>
<!--.......... Downlink DL ....................................-->
<Panel>
<DL IRows = "1" >
<DL Columns="1">
<Icolumn> RIA:RIB:RIC:RID:RIE:RIF##0-15 </Icolumn>
</DL>
</DL>

<DL IRows = "1" >
<DL Columns="2">
<Icolumn> RIA:RIB:RIC:RID:RIE:RIF##0-15 </Icolumn>
</DL>
</DL>

<DL IRows = "1" >
<DL Columns="3">
<Icolumn> RIA:RIB:RIC:RID:RIE:RIF##0-15 </Icolumn>
</DL></DL>

<DL IRows = "1" >
<DL Columns="4">
<Icolumn> RIA:RIB:RIC:RID:RIE:RIF##0-15 </Icolumn>
</DL>
</DL>
var doc = XElement.Load(@"path to your xml");
var result = doc.Nodes()
    .Cast<XElement>()
    .Select(n=>
    {
        var columnsDlElement = n.FirstNode as XElement;
        var iColumnElement = columnsDlElement.FirstNode as XElement;
        return new
        {
            Rows = Convert.ToInt32(n.Attribute("IRows").Value),
            Columns = Convert.ToInt32(columnsDlElement.Attribute("Columns").Value),
            IColumn = iColumnElement.Value
         };
     });