C# 获取具有特定元素名称的所有元素
我的xml如下所示: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
<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的一个打字错误。