Linq 如何从xmlfile中选择所有desendent
我有以下XML片段:Linq 如何从xmlfile中选择所有desendent,linq,linq-to-xml,Linq,Linq To Xml,我有以下XML片段: <dependency> <dependentAssembly dependencyType="install" allowDelayedBinding="true" size="92160"> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" size="92160">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>CPxsdsbvZSAAkmARkxa8ychL2aLZRc=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
CPxsdsbvZSAAkmARkxa8ychL2aLZRc=
如何使用LINQ或其所有Decent节点选择此节点:
<dsig:Transforms>
谢谢。像这样的方法应该可以:
XElement docElem = XElement.Load(pathToXml);
XNamespace ns = "http://www.w3.org/2000/09/xmldsig#";
// This assumes you know there will be exactly one "Transforms" element
XElement transforms = docElem.Descendants(ns + "Transforms").Single();
foreach (XElement transform in transforms.Elements()) {
// Do something with each Transform element
}
为此,必须加载完整的XML(带有名称空间前缀声明)。XDocument.Load(“file.XML”).Root.substands(XName.Get(“dsig”、“Transforms”)代码>