Load XML into XDocument:

<MunicipalitiesList>
    <Municipalities>
        <Municipality>
            <MunicipalityName LanguageCode="de" />
            <MunicipalityName LanguageCode="it">
                <![CDATA[Abano Terme]]>
            </MunicipalityName>            
        </Municipality>
        <Municipality>
            <MunicipalityName LanguageCode="de">
                <![CDATA[Kaltern an der Weinstraße]]>
            </MunicipalityName>
            <MunicipalityName LanguageCode="it">
                <![CDATA[Caldaro sulla Strada del Vino]]>
            </MunicipalityName>
        </Municipality>
    </MunicipalitiesList>
</Municipalities>

-------------------------------------------

XElement XMunicipalityList = [XML from top]

 

Read XML using Linq:

var ElementList = XMunicipalityList.Element("Municipalities").Elements("Municipality")
    .Where(x => x.Element("MunicipalityName").Value == "Caldaro sulla Strada del Vino")
    .ToList();

Response: 0 nodes

var ElementList = from Municipality in XProfisMunicipalityList.Element("Municipalities").Elements("Municipality")
   from MunicipalityName in Municipality.Descendants("MunicipalityName")
   where MunicipalityName.Value == "Caldaro sulla Strada del Vino"
   select MunicipalityName;
   
Response: 1 node