LINQ multiple columns
本文关键字:columns multiple LINQ | 更新日期: 2023-09-27 18:18:39
<root>
<data1>
<Element1>Value</Element1>
<Element2>Value</Element2>
<Element3>Value</Element3>
</data1>
<data2>
<Element1>Value</Element1>
<Element2>Value</Element2>
</data2>
</root>
从上面的XML,我想使XML看起来像这样:
<root>
<d1e1>value<d1e1>
<d1e2>value<d1e2>
<d2e1>value<d2e1>
</root>
处理这个问题最有效的方法是什么?理论上,Linq在大多数情况下应该更快,对于这个项目来说,速度是至关重要的
任何想法?
的想法是从Y池中选择X个节点,这里的示例经过简化以向您展示问题。一般来说,这就像我有一个多层次的xml,我需要扁平化,只有一个子层(又名根+ level1),但从源我只需要有我感兴趣的某些元素。
无论如何,这个问题已经解决了,因为我用foreach做了,因为我发现,如果你在xml中指定了一个schema,但不能访问LINQ,无论如何都不想工作。
解决方案是这样的:
-
我做了一个函数:
public System.Xml.XmlElement GetSubElement(XmlElement Parent, string element) { System.Xml.XmlElement ret = null; if (Parent == null) return ret; XmlNodeList ContentNodes = Parent.GetElementsByTagName(element); if (ContentNodes.Count > 0) { XmlNode node = ContentNodes.Item(0); ret = (XmlElement)node; } return ret; }
-
我在重复
的区域上做了一个foreach循环 我从上面函数的重复上下文中得到了元素。
无论如何,我解决了这个问题。
编辑:不知道如何让这段代码正确显示,因为Ctrl+K似乎不这样做