Так выглядит XML.Получить количество подузлов для каждого корневого узла XML
<nvd xmlns:scap-core=....>
<entry id="CVE-2015-0001">
<vuln:vulnerable-configuration id="http://www.nist.gov/">
<cpe-lang:logical-test operator="OR" negate="false">
<cpe-lang:fact-ref name="cpe:/o:microsoft:windows_8:-"/>
<cpe-lang:fact-ref name="cpe:8.1:-"/>
<cpe-lang:fact-ref name="cpe:/o:microer_2012:-:gold"/>
<cpe-lang:fact-ref name="cpe:/o:microsoft:w~~"/>
Я хочу, чтобы получить число «CPE-Ланг: фактологические-исх» узлов для каждой записи и показывать идентификатор записи и количество узлов.
CVE-2015-0001 4
Это то, что я пытался
var document = XDocument.Load("nvdcve-2.0-2015.xml");
var root = document.Root;
var elements = root.Descendants("entry");
foreach (var entry in elements)
{
string id = entry.Attribute("id").Value;
var cpe = entry.Elements("cpe-lang:fact-ref");
int nr = 0;
foreach (var item in cpe)
{
nr++;
}
Console.WriteLine(id + " " + nr);
}
Должен сказать, что он не зацикливается ни разу. – greye