Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取具有特定元素名称的所有元素_C#_Xml_Linq To Xml - Fatal编程技术网

C# 获取具有特定元素名称的所有元素

C# 获取具有特定元素名称的所有元素,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,我的xml如下所示: <nodes><skus><sku>abc</sku><sku>def123</sku></skus></nodes> ? 如果没有元素,我不希望返回错误。您想要该标记名元素的节点列表: XmlNodeList nodes = doc.GetElementsByTagName("sku"); 您需要该标记名元素的节点列表: XmlNodeList nodes = doc.Ge

我的xml如下所示:

<nodes><skus><sku>abc</sku><sku>def123</sku></skus></nodes>
?


如果没有元素,我不希望返回错误。

您想要该标记名元素的节点列表:

XmlNodeList nodes = doc.GetElementsByTagName("sku");

您需要该标记名元素的节点列表:

XmlNodeList nodes = doc.GetElementsByTagName("sku");
Elements()
仅返回节点的直接子节点

doc.Descendants("sku");
我们应该做到这一点。它沿子体轴进行搜索。

Elements()
仅返回节点的直接子节点

doc.Descendants("sku");
static void Main(string[] args)
{
    var g = XDocument.Parse("<nodes><skus><sku>abc</sku><sku>def123</sku></skus></nodes>");
    var t = from e in g.Descendants("sku")
    select e;
}
我们应该做到这一点。它沿着子体轴进行搜索。

static void Main(字符串[]args)
static void Main(string[] args)
{
    var g = XDocument.Parse("<nodes><skus><sku>abc</sku><sku>def123</sku></skus></nodes>");
    var t = from e in g.Descendants("sku")
    select e;
}
{ var g=XDocument.Parse(“abcdef123”); var t=来自子代中的e(“sku”) 选择e; }
编辑:我开始了这个例子,但被打断了-我决心让这个代码,所以即使它杀了我

static void Main(字符串[]args)
{
var g=XDocument.Parse(“abcdef123”);
var t=来自子代中的e(“sku”)
选择e;
}

编辑:我开始了这个例子,但被打断了-我决心让这个代码,所以即使它杀了我

这将返回一个节点列表?从e in g.substands(“sku”)选择e:这与g.substands(“sku”)相同,它只添加了一个迭代器级别…@Blankman:
g.substands(“sku”)
返回
IEnumerable
。这将返回一个节点列表?从e in g.substands(“sku”)选择e:这与g.substands(“sku”)相同),它只是增加了一个迭代器级别…@Blankman:
g.substands(“sku”)
返回
IEnumerable
。它不应该是sku而不是sku吗?在您的OP中,您需要文档中的所有sku(
doc.Elements(“sku”)
),所以我就是这么做的。如果你想要sku,你可以做
doc.subjections(“sku”)
,这取决于你想要什么。不应该是sku而不是sku吗?在你的OP中,你想要文档中的所有sku(
doc.Elements(“sku”)
),所以我就是这么做的。如果您想要SKU,可以执行
doc.substands(“SKU”)
这取决于您想要什么。OP使用的是Linq to XML,而不是XML DOM;)啊。没有注意到。认为xdocument是xmldocument的一个输入错误。OP使用的是Linq to XML,而不是XMLDOM;)啊。没有注意到。认为xdocument是xmldocument的一个打字错误。