我正在考虑这样的方法。 如果这实际上可以这样工作,请告诉我: 对于Sample XML:
<Root>
<Node>
<SubEl1>abc</SubEl1>
<SubEl2>def</SubEl2>
<SubEl3>123</SubEl3>
<SubEl4>456</SubEl4>
</Node>
</Root>
想要进入<Node>
,循环检查节点/元素名称并获取它的值。
像这样的东西,比如名字'SubEl1'对task1使用'abc',看到元素名称是'SubEl2'我做task2。必须检查所有子元素!
示例(不工作代码):
//looping through 'Node' children
switch(SubElName for 'Node element)
{
case : 'SubEl1'
//Do Task1 using the SubEl1's value/TextName ...
case: 'SubEl2'
//Task2 ...
...
case: default //Do default task.....
}
//end loop
如果你能想到任何其他方法(XElement,XmlDocument,SelectNodes()等,那也将受到赞赏!
答案 0 :(得分:11)
对于此任务,您只需要创建节点名称和节点值的列表/字典,然后就可以在交换机中使用它了....
var list = from x in XElement.Load(**yourxmlfile**).Element("Node").Elements()
select new
{
Name = x.Name,
Value = (string)x
};
现在您有一个名称,值对的列表,您只需将其传递给切换方法。
答案 1 :(得分:0)
还没有使用它,但LINQ to XML看起来像各种各样的真棒。这是一些链接。 MSDN Reference Hooked On LINQ
答案 2 :(得分:0)