2017-04-04 111 views
-2

我有这样的XML:如何获得节点名称,XML

<data_item> 
    <warehouses> 
     <wa_1>10</wa_1> 
     <wa_2>6</wa_2> 
    </warehouses> 
</data_item> 

我需要得到childNode的节点名称。

Output: 
wa_1 
wa_2 

目前,我有以下这些代码,但我得到“仓库”:

var warehouseElem = lineItemElem.Elements("warehouses"); 
var node = warehouseElem.FirstOrDefault(); 
var nodeName = node.Name; 
+3

好的,所以有很多关于解析XML的教程,问题等。我建议使用LINQ to XML。你试过了吗? (例如从'XDocument.Load' /'XDocument.Parse'开始并从那里开始)。目前,这个问题表明缺乏研究。 –

+0

[LINQ to read XML]的可能重复(http://stackoverflow.com/questions/670563/linq-to-read-xml) – ckruczek

+0

使用node.Name.LocalName它返回一个字符串。 – jdweng

回答

2

“目前,我有以下这些代码,但我得到‘仓库’......”

您可以使用Elements()即没有参数来获取所有子元素从父母warehouses,然后从那里提取元素名称:

var nodeNames = node.Elements().Select(n => n.Name); 
foreach(var nodeName in nodeNames) 
{ 
    Console.WriteLine(nodeName); 
}