<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>
最有效的处理方式是什么? 在理论上,Foreq或Linq在大多数情况下Linq应该更快,速度是这个项目的关键
有什么想法吗?
答案 0 :(得分:0)
这个想法只是从Y池中选择X节点,这里的示例被简化以显示问题。一般情况下,我有一个多级xml,我需要平坦只有一个子级(又名root + level1),但从源代码我只需要有一些我感兴趣的元素。
无论如何,这个问题已经解决了,因为我是用foreach完成的,因为我发现如果你在xml中指定了一个shema但是无法访问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循环
我得到了具有上述功能的重复上下文中的元素。
无论如何,它为我解决了。
编辑: 不知道如何使这段代码正确显示cos Ctrl + K似乎就是这样做