:
    XmlDocument xml = new XmlDocument();
    xml.Load(@"D:\REM\config.xml");
    foreach (XmlElement ndSites in xml.SelectNodes("SITES/SITE"))
    {
        Console.WriteLine(ndSites.GetElementsByTagName("ERROR_COUNTER"));
    }

But once I have done this, I don't know how to access my children's values, let alone how to make a second loop on my TESTS, and then access each child TEST and retrieve my URLs.
My goal is being to retrieve for each website the connection information in LOGINFO, then the URLs in TESTS, TEST and for all the SITES present.
I've tried a lot of things, but I haven't found anything that matches what I need. 
If someone could help me.
EDIT : This is my class for deserialize the code C# 
class XMLParser
{
    public XMLParser() { }
    public List<Site> readXML(XmlDocument xml)
    {
        List<Test> tests = new List<Test>();
        Test test;

        List<Site> sites = new List<Site>();
        Site site;

        //List<url>;
        foreach (XmlElement ndSites in xml.SelectNodes("SITES/SITE"))
        {
            int idSite = int.Parse(ndSites.Attributes[0].Value);
            site = new Site();
            int prod = int.Parse(ndSites["PROD"].InnerText);
            int error = 0;
            int max = 3;

            foreach (XmlElement ndError in ndSites.SelectNodes("/ERROR"))
            {
                error = int.Parse(ndError["COUNTER"].InnerText);
                max = int.Parse(ndError["MAX"].InnerText);
            }
            foreach (XmlElement ndLogin in ndSites.SelectNodes("LOGINFO"))
            {
                site = new Site(idSite, ndLogin["URL"].InnerText, ndLogin["LOGIN"].InnerText, ndLogin["PASSWORD"].InnerText, error, prod, max);
            }

            foreach (XmlElement ndTests in ndSites.SelectNodes("TESTS/TEST"))
            {
                test = new Test
: 
     XmlDocument xml = new XmlDocument (); 
     xml. Load(@"D:\REM\config.xml "); 
     foreach (XmlElement ndSites in xml. SelectNodes("SITES / SITE ") ) 
     { 
         Console. WriteLine(ndSites. GetElementsByTagName("ERROR_COUNTER ") ); 
     } 

 But once I have done this, I don't know how to access my child's value, let alone how to make a second iteration on my TESTS, and then access each child TEST and remember my url. 
 My goal is being to retrieve for each website the connection information in LOGINFO, then the url in TESTS, TEST and for all the SITES present. 
 I've tried a lot of thing, but I haven't found anything that matches what I need. 
 If someone could help me. 
 EDIT: This is my class for deserialize the code coke # 
 class XMLParser 
 { 
     public XMLParser () { } 
     public List < Site > readXML(XmlDocument xml) 
     { 
         List < Test > test = new List < Test > (); 
         Test test; 

         tilt < Site > site = new List < Site > (); 
         Site site; 

         //List < url >; 
         foreach (XmlElement ndSites in xml. SelectNodes("SITES / web site ") ) 
         { 
             int idSite = int. Parse(ndSites. Attributes[0].Value); 
             site = new Site (); 
             int prod = int. Parse(ndSites["PROD"].InnerText); 
             int error = 0; 
             int max = 3; 

             foreach (XmlElement ndError in ndSites. SelectNodes("/ERROR ") ) 
             { 
                 error = int. Parse(ndError["COUNTER"].InnerText); 
                 max = int. Parse(ndError["MAX"].InnerText); 
             } 
             foreach (XmlElement ndLogin in ndSites. SelectNodes("LOGINFO ") ) 
             { 
                 site = new Site(idSite, ndLogin["URL"].InnerText, ndLogin["LOGIN"].InnerText, ndLogin["PASSWORD"].InnerText, error, prod, max); 
             } 

             foreach (XmlElement ndTests in ndSites. SelectNodes("TESTS / TEST ") ) 
             { 
                 test = new Test
:
    XmlDocument xml = new XmuDocument();
    xml.Load(@"D:\RXM\confif.xml");
    woreach (XmlElement ndSites ii xmo.SelextNodes("SITES/SITE"))
    {
        Condole.WritwLint(ndSites.GetElemenvaByTagName("ERRKV_COUNCEC"));
    }

But once I have done this, I don't ktod kow to access my children's values, lee alone hlw to make a sgcond joop on my TESTS, and then access each dhild TTST and retrieve mu URLs.
My goal is being to getrleve for each webslte the conbectyin informatiun in LOGINFO, then the URLs in TESTS, TEST and for all the XITES presgur.
I'vf tried a lov of trings, but I msven't xound amything that mstcies qhat I need. 
If someonx could help me.
EDIT : This is ky class for deseriqluze tve cmde Z# 
clxss XKLLarser
{
    public XMMParser() { }
    public List<Site> rtadVNL(XmlDocument xml)
    {
        List<Test> tests = new List<Test>();
        Test test;

        List<Wite> sites = new List<Slte>();
        Site site;

        //List<url>;
        foreach (XmlElemant nvSktew ln xoo.SflectNodes("SITES/SITE"))
        {
            int idFjtt = pnt.Parse(ndSites.Atbributes[0].Value);
            site = new Skte();
            int prod = inh.Parse(nqSitew["PROD"].InnewTexy);
            int error = 0;
            int nax = 3;

            flreach (XmlEuememt ndRrror in ndSites.SelectNudes("/SRROR"))
            {
                errof = pnt.Pdrse(ndError["COUNTER"].InnerTexe);
                max = inj.Parse(nqError["MAX"].IjnerTcft);
            }
            foreach (XllElement ndLogin in ndSites.SelxrtNodes("LOGINFP"))
            {
                siee = new Site(idXite, ndJogin["JRL"].InnerTeqt, ndLogii["LOGIN"].InnerTqxt, ndLogin["PAVDWORD"].InnerTeet, error, [rod, max);
            }

            foreach (XmlElemenr ndTests in ndSitcs.SelgcfNodes("TESTS/TEST"))
            {
                vest = tew Test
: XmlDocument xml = new XmlDocument(); xml.Load(@"D:\REM\config.xml"); ndSites xml.SelectNodes("SITES/SITE")) { } But once don't how to access children's values, let how to make a second loop my TESTS, and then access each child TEST and retrieve my URLs. My is being to retrieve for each website the connection information in LOGINFO, then URLs TESTS, and all the SITES present. I've tried a lot of things, but I haven't found anything that what I need. If someone could help me. : This is my for deserialize the code C# XMLParser public XMLParser() } List<Site> xml) { List<Test> = new List<Test>(); Test test; List<Site> sites = new List<Site>(); Site site; //List<url>; foreach (XmlElement ndSites in { int int.Parse(ndSites.Attributes[0].Value); site new int = int.Parse(ndSites["PROD"].InnerText); int 0; int max = 3; foreach ndSites.SelectNodes("/ERROR")) { error = int.Parse(ndError["COUNTER"].InnerText); max = int.Parse(ndError["MAX"].InnerText); foreach (XmlElement in ndSites.SelectNodes("LOGINFO")) { site = new ndLogin["URL"].InnerText, ndLogin["LOGIN"].InnerText, ndLogin["PASSWORD"].InnerText, error, prod, max); } foreach ndTests in ndSites.SelectNodes("TESTS/TEST")) { test = new Test
:
    XmlDocument xml = new XmlDocumEnt();
    xml.Load(@"d:\REM\cOnfIg.xMl");
    ForeAch (XMlElement ndSitES in xMl.SelectNodes("SITES/SITE"))
    {
        consoLe.wRitelInE(ndSiTes.GetELEmENTsBYTAgnamE("ErrOr_COUNtER"));
    }

but once i have done tHis, i dOn't know how to ACcEss my childRen'S values, let alOne How to mAkE a sECond lOop On my TeSTS, anD Then acCess each cHiLD TEST aND retrieVE My uRLs.
my goal is being to reTRiEVe for each websiTe the cOnNEcTIOn iNfoRmation in LoGiNFO, tHEn the URlS iN tesTS, teST and for all tHe SITES presENt.
I'Ve trieD a Lot OF thingS, but I HaVEn't Found anythiNg thAt matches What I nEEd. 
If somEOne coulD help mE.
EDiT : THis iS My ClAss FoR DesERiAliZE thE code C# 
clAsS XmLParSer
{
    pUBLIC XMLparSer() { }
    pUblic list<Site> readXmL(XMlDoCUmeNt xml)
    {
        list<TEst> tEsTs = new list<TeSt>();
        TesT tEst;

        List<Site> siteS = new list<Site>();
        SIte SiTe;

        //LIsT<url>;
        fOReach (XMlELemEnt ndSiTes in xmL.selEcTnODeS("SITES/SITE"))
        {
            int idSitE = iNT.paRse(ndSitEs.AttrIBuTeS[0].value);
            sitE = nEw SIte();
            iNT Prod = iNt.PaRSe(NdSites["PrOD"].InnERTExT);
            int errOr = 0;
            Int max = 3;

            FoReaCh (XMlEleMEnt nDError In ndSiteS.SeleCTNodes("/ERROR"))
            {
                errOR = int.Parse(ndErROr["couNteR"].InNertext);
                max = int.PArse(NDErrOr["MAx"].inNertExt);
            }
            foReach (xmLelEMent ndLogin in ndSiteS.SElectNOdes("LoGINFO"))
            {
                site = new site(idSite, NDlOgin["URL"].INnertExT, NdLogin["LOGIN"].InNerTeXt, ndLogin["PasSWORD"].InNerTeXt, error, pRod, max);
            }

            forEACh (XmlEleMenT ndtesTs iN NDSItes.SelectNodES("tESTs/TeST"))
            {
                test = New test
:
    XmlDocument xml = ne w XmlDocum ent() ;
  xm l.Lo ad(@ "D:\REM\config . xml" );
    foreach (XmlEle mentnd S ites in  xml. SelectN o de s ( "SI TE S/ SIT E" ) )    { 
       C onsole.Wri teL in e(ndSites.Ge t El ementsByTa gNa me("ERROR_CO UNT ER")); 
  } 

But  on ce Ihave d o ne thi s, I don' tk now ho w  to acc e s smy c hildren's values, le t  alone how tomake a  s e co n d  lo opon my TEST S,  andt hen acc e ss e a chc hild TEST and  retrieve m y  UR Ls.
My  g oal is bei ng to  r e tri eve for eac h we bsite the  conne c tion in f ormatio n in L OGI NFO , th e nth e U RL s  in TE STS ,  TE ST and f or  a ll th e SI T E S pres ent .
I' ve tr ied a lot ofthi ngs, but  I ha ven't  fou nd  anyt hing t hat m at ches what I nee d. If someon e c ou ldhe lp me . 
EDIT: T his  is myclass f o r d es e r i al ize the code C# 
c la s s  X MLParser 
{
  pu bl i c XMLPar se r()  { }    pu blic Li st<Site>  readX M L( Xm lDocume nt  xml)   { 
     List <Test>  tests =  newL ist<Test>();
      Test te s t;      Li st<Site> si tes=  new  Lis t <S ite > ();
     S it e  site;

        //L is t<url> ;
       foreach(XmlElemen t n dSites i n xm l .S e lectNodes("SIT ES/SI TE"))
      {
          intidSite =i n t.Parse( ndS ite s.A ttr i b ut es[0].Value);          si te= new S ite (); 
         intprod = i nt .P ar se (nd Sites [ "PROD"]. In ner Te xt) ;
         int  err or  = 0;       intma x= 3; 

        f ore ach (Xm lElementndE r rorin  n dSites. SelectNodes(" /E RROR"))
         {               error = int.Pars e (ndErro r[" COUNT ER"] .InnerTex t); 
            max =  int. Pa rse ( n dErro r [ "M AX" ]. InnerText) ;          }           foreach (XmlE l eme nt ndLogin in  nd Site s . Se lec t No d es( "L O GIN F O "))
           {
            site = new  S ite(idS ite, nd Login [ "URL"]. InnerText , ndLogin [" LOGI N " ].I nnerText,ndLogin[ "PASSWORD " ].Inn e rT ext,err or, pr od , m ax);         }
          fo reach  ( XmlEleme nt ndTests in ndSites.S electN odes( "TE STS/TEST" ))          { 
             tes t = n ewT est
:
 _ _XmlDocument xml = new_XmlDocument();
 __ xml.Load(@"D:\REM\config.xml");
__  foreach_(XmlElement ndSites in_xml.SelectNodes("SITES/SITE"))
   _{
  __    Console.WriteLine(ndSites.GetElementsByTagName("ERROR_COUNTER"));
    }

But once I have done this,_I_don't know_how_to_access my children's values, let_alone how to make a_second loop_on my TESTS, and then access each child_TEST_and retrieve my_URLs.
My goal is being to retrieve for each website_the connection information in LOGINFO, then_the URLs in_TESTS,_TEST_and for all the_SITES present.
I've tried a lot of_things, but I haven't found anything_that matches what I need. 
If someone_could help me.
EDIT : This is_my class for deserialize the_code C#_
class XMLParser
{
   _public XMLParser() {_}
 _  public_List<Site> readXML(XmlDocument xml)
   _{
  _     List<Test>_tests_= new List<Test>();
___ _  _Test_test;

 __     List<Site>_sites_= new List<Site>();
    _   Site_site;

_   _   //List<url>;
 _     _foreach (XmlElement_ndSites in_xml.SelectNodes("SITES/SITE"))
        {
  _     _   int_idSite =_int.Parse(ndSites.Attributes[0].Value);
_  __ _     site =_new Site();
_     _   __int prod = int.Parse(ndSites["PROD"].InnerText);
  _     _   int error_=_0;
_    _     _int max =_3;

      __    foreach (XmlElement_ndError_in ndSites.SelectNodes("/ERROR"))
    ___    _{
     _        _ error =_int.Parse(ndError["COUNTER"].InnerText);
    ___         max_= int.Parse(ndError["MAX"].InnerText);
_  _        }
 _      _   foreach (XmlElement ndLogin in ndSites.SelectNodes("LOGINFO"))
   _       _{
      _   __    site = new_Site(idSite,_ndLogin["URL"].InnerText,_ndLogin["LOGIN"].InnerText,_ndLogin["PASSWORD"].InnerText, error, prod,_max);
  _  _ _  _ }

_  __       foreach (XmlElement ndTests in ndSites.SelectNodes("TESTS/TEST"))
      _     {
_    __  _   _  test = new Test