sdf

CSharp · Console

/Program.cs

using System;
using System.Linq;
using System.Xml;					
using System.Xml.Linq;
using System.Collections; 
using System.Collections.Generic;
using System.Data;
using System.Data.DataSetExtensions;
using System.Data.Linq;
using System.Text;
using System.Text.RegularExpressions;
					
public class Program
{
	public static void Main()
	{
		string input = @"<root>
    <child1>
        Value1
    </child1>
    <child2>
            <child3>
                Value2
            </child3>
            <child4>
                    <child5>
                        Value1
                    </child5>
            </child4>
    </child2>
    <child6>
        Value1
    </child6>
</root>";
		
		XDocument doc = XDocument.Parse(input);		
		doc.Descendants()
		   .Where(x=> (!x.HasElements &&((string)x.Value).Trim() == "Value1")
				  || (x.Attribute("value") != null && x.Attribute("value").Value == "Value1"))
		   .Count().Dump();	 
			
	}
}

;