C#提取xml中重复的节点的值

我现在需要使用C#提取xml中的数据,我需要提取下面代码中的Points中的两个SegmentPoints中的X和Y的值,并将这四个值分配给变量a、b、c、d,现在我已经提取了xml中的第一个SegmentPoint的X和Y的值,并将它们分配给变量a、b,,我现在不知道如何提取第二个SegmentPoint的X、Y值,因为它和第一个SegmentPoint的名字相同。下面是我的代码,请大神们帮我实现提取第二个SegmentPoint的X、Y值。

XML:


1797
1797



21867
27304


23941
27304




1841
1841



23941
27304


24702
27304




1850
1850



26154
16092


25195
16092




1851
1851



25195
16092


23715
16092



 我目前的C#使用xml的Linq:

 foreach (var ele in elements)
        {
            SegmentModel model = new SegmentModel();
            model.Id = Convert.ToInt32( ele.Element("Id").Value);



            model.X1 = Convert.ToInt32(ele.Element("Points").Element("SegmentPoint").Element("X").Value);
            model.Y1 = Convert.ToInt32(ele.Element("Points").Element("SegmentPoint").Element("Y").Value);
             int a = model.X1;
             int b = model.Y1;



                     }
c#

2个回答

xml不完整。但是你可以用Linq的 Distinct() 或者 GroupBy 来去掉重复的值。

发XML需要注意下,是markdown语法,要先点 代码片 按钮,然后在出现的两个三点之间放入你的XML


ele.Element("Points").Elements("SegmentPoint")

获取Points下的所有SegmentPoint结点,然后对此集合进行遍历就可以获取了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问