2016-04-06 9 views
0

Ich habe die folgende XML:Kein Wert, wenn deserialize XML-Dokument

<?xml version="1.0" encoding="utf-8"?> 
<ArrayOfFolkbokforingspostTYPE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>235235263</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>dsgsgdsd</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>sdgsdg</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20060512</Folkbokforingsdatum> 
     <LanKod>25</LanKod> 
     <KommunKod>14</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>gsdgsgds</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>sgsdgs</Utdelningsadress2> 
      <PostNr>325325</PostNr> 
      <Postort>lalalal</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>235</FastighetsId> 
      <AdressplatsId>2355325</AdressplatsId> 
      <LagenhetsId>35235</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>25</FodelselanKod> 
      <Fodelseforsamling>NEDERKALIX</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
</ArrayOfFolkbokforingspostTYPE> 

Und wollte es deserialisieren, aber ich bin nicht den Wert bekommen. Hier

ist die deserialize Klasse:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Xml.Serialization; 

namespace TESTMAPPNING2 
{ 


     [XmlRoot("ArrayOfFolkbokforingspostTYPE")] 
     public class Information 
     { 

      [XmlElement("Sekretessmarkering")] 
      public string ProtectedIdentity 
      { 
       get; 
       set; 
      } 
      [XmlElement("PersonNr")] 
      public string PersonalIdentityNumber 
      { 
       get; 
       set; 
      } 

      [XmlRoot("Personpost")] 
      public class Personpost 
      { 
       [XmlRoot("PersonId")] 
       public class PersonId 
       { 
        [XmlElement("PersonNr")] 
        public string PersonalIdentityNumber 
        { 
         get; 
         set; 
        } 


       } 
       [XmlElement("HanvisningsPersonNr")] 
       public string ReferedCivicRegistrationNumber 
       { 
        get; 
        set; 
       } 
       [XmlRoot("Namn")] 
       public class Namn 
       { 

        [XmlElement("Tilltalsnamnsmarkering")] 
        public string GivenNameNumber 
        { 
         get; 
         set; 
        } 

        [XmlElement("Fornamn")] 
        public string FirstName 
        { 
         get; 
         set; 
        } 

        [XmlElement("Efternamn")] 
        public string LastName 
        { 
         get; 
         set; 
        } 

        [XmlElement("Aviseringsnamn")] 
        public string NotifyName 
        { 
         get; 
         set; 
        } 

       } 
       [XmlRoot("Folkbokforing")] 
       public class Folkbokforing 
       { 
        [XmlElement("Folkbokforingsdatum")] 
        public string NotifyName 
        { 
         get; 
         set; 
        } 

        [XmlElement("LanKod")] 
        public string NationalRegistrationCountyCode 
        { 
         get; 
         set; 
        } 

        [XmlElement("KommunKod")] 
        public string NationalRegistrationMunicipalityCode 
        { 
         get; 
         set; 
        } 

       } 
       [XmlRoot("Adresser")] 
       public class Adresser 
       { 
        [XmlRoot("Folkbokforingsadress")] 
        public class Folkbokforingsadress 
        { 

         [XmlElement("CareOf")] 
         public string NationalRegistrationCoAddress 
         { 
          get; 
          set; 
         } 

         [XmlElement("Utdelningsadress1")] 
         public string NationalRegistrationDistributionAddress1 
         { 
          get; 
          set; 
         } 

         [XmlElement("Utdelningsadress2")] 
         public string NationalRegistrationDistributionAddress2 
         { 
          get; 
          set; 
         } 

         [XmlElement("PostNr")] 
         public string NationalRegistrationPostCode 
         { 
          get; 
          set; 
         } 

         [XmlElement("Postort")] 
         public string NationalRegistrationCity 
         { 
          get; 
          set; 
         } 
        } 
       } 
       [XmlRoot("Fodelse")] 
       public class Fodelse 
       { 
        [XmlRoot("HemortSverige")] 
        public class HemortSverige 
        { 
         [XmlElement("FodelselanKod")] 
         public string BirthCountyCode 
         { 
          get; 
          set; 
         } 

         [XmlElement("Fodelseforsamling")] 
         public string BirthParish 
         { 
          get; 
          set; 
         } 
        } 
       } 
       [XmlRoot("Medborgarskap")] 
       public class Medborgarskap 
       { 
        [XmlElement("MedborgarskapslandKod")] 
        public string CitizenshipCode 
        { 
         get; 
         set; 
        } 

        [XmlElement("Medborgarskapsdatum")] 
        public string CitizenshipDate 
        { 
         get; 
         set; 
        } 
       } 

      } 

     } 
    } 

Und hier ist die Hauptklasse:

namespace TESTMAPPNING2 
{ 
    public class Program 
    { 
     public static void Main(string[] args) 
     { 
      Test(); 
     } 


     public static void Test() 
    { 
     try 
     { 
      XmlSerializer XmlSerializer = new XmlSerializer(typeof(Information)); 
      StreamReader sr = new StreamReader("navetout.xml"); 
      Information information = (Information)XmlSerializer.Deserialize(sr); 
      Console.WriteLine("Information:"); 
      Console.WriteLine("Personnummer:" + information.PersonalIdentityNumber); 
      Console.ReadKey(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
      Console.ReadKey(); 
     } 

    } 

Ich versuche, die PersonalIdentityNumber nur angezeigt werden, um es auszuprobieren, aber es wird nicht, es ist Wert. All die Konsole Druck ist

Information:

person:

Warum ist es nicht den Wert des PersonalIdentityNumber bekommen (PersonNr) im XML?.

UPDATE 2

Meine ganze XML:

<?xml version="1.0" encoding="utf-8"?> 
<ArrayOfFolkbokforingspostTYPE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <PersonNr>194903188953</PersonNr> 
<FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>194903188953</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>Erik Lennart</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Enberg</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20060512</Folkbokforingsdatum> 
     <LanKod>25</LanKod> 
     <KommunKod>14</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>PÅLÄNGE 6:38</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>STORVÄGEN 65</Utdelningsadress2> 
      <PostNr>95204</PostNr> 
      <Postort>PÅLÄNG</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>250015520</FastighetsId> 
      <AdressplatsId>2416233</AdressplatsId> 
      <LagenhetsId>22143838</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>25</FodelselanKod> 
      <Fodelseforsamling>NEDERKALIX</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <TilldelatPersonNrSamordningsNr>195405869370</TilldelatPersonNrSamordningsNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Fornamn styrkt="J">Eduardo Metran</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn styrkt="J">Garcia</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum xsi:nil="true" /> 
     <LanKod>14</LanKod> 
     <KommunKod xsi:nil="true" /> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning xsi:nil="true" /> 
     </Folkbokforing> 
     <Adresser /> 
     <Fodelse> 
     <OrtUtlandet> 
      <FodelseortUtland styrkt="J">Sta Cruz Zambales</FodelseortUtland> 
      <Fodelseland>FILIPPINERNA</Fodelseland> 
     </OrtUtlandet> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod styrkt="J">PH</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>199103274545</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Fornamn>Sarah Dina Tomasdotter</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Själander</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20120123</Folkbokforingsdatum> 
     <LanKod>01</LanKod> 
     <KommunKod>80</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>SLALOMSVÄNGEN 3</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>STÖRTLOPPSVÄGEN 18 LGH 1102</Utdelningsadress2> 
      <PostNr>12947</PostNr> 
      <Postort>HÄGERSTEN</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>010114422</FastighetsId> 
      <AdressplatsId>1463872</AdressplatsId> 
      <LagenhetsId>24865059</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>01</FodelselanKod> 
      <Fodelseforsamling>SPÅNGA</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>197111041617</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>10</Tilltalsnamnsmarkering> 
     <Fornamn>Kristian Fredrik</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Lahtinen</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20110524</Folkbokforingsdatum> 
     <LanKod>04</LanKod> 
     <KommunKod>84</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>HÖJDHOPPAREN 3</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>SÄBYGATAN 22 C LGH 1102</Utdelningsadress2> 
      <PostNr>64434</PostNr> 
      <Postort>TORSHÄLLA</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>040044272</FastighetsId> 
      <AdressplatsId>1982769</AdressplatsId> 
      <LagenhetsId>22271866</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>04</FodelselanKod> 
      <Fodelseforsamling>TORSHÄLLA</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>FI</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>198208268220</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>10</Tilltalsnamnsmarkering> 
     <Fornamn>Ida Margareta</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Kruth</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20131101</Folkbokforingsdatum> 
     <LanKod>23</LanKod> 
     <KommunKod>80</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>FRITZHEM 17</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>TRÄDGÅRDSVÄGEN 7 A</Utdelningsadress2> 
      <PostNr>83243</PostNr> 
      <Postort>FRÖSÖN</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>230105629</FastighetsId> 
      <AdressplatsId>2788100</AdressplatsId> 
      <LagenhetsId>22480810</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>23</FodelselanKod> 
      <Fodelseforsamling>RÄTAN</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>197707145590</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>Bobby Sebastian Ari Roy</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Eklund</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20150915</Folkbokforingsdatum> 
     <LanKod>14</LanKod> 
     <KommunKod>89</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>JÄRTA 4</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>KUNGSGATAN 41 C LGH 1201</Utdelningsadress2> 
      <PostNr>44131</PostNr> 
      <Postort>ALINGSÅS</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>140856107</FastighetsId> 
      <AdressplatsId>6170819</AdressplatsId> 
      <LagenhetsId>6251962</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>55</FodelselanKod> 
      <Fodelseforsamling>KULLINGS-SK</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>195907184930</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>12</Tilltalsnamnsmarkering> 
     <Fornamn>Nils-Arne</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Hellberg</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>19951002</Folkbokforingsdatum> 
     <LanKod>14</LanKod> 
     <KommunKod>35</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>MYREN 1:24</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>OLJESKÄR 19</Utdelningsadress2> 
      <PostNr>45797</PostNr> 
      <Postort>RESÖ</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>140255902</FastighetsId> 
      <AdressplatsId>12613307</AdressplatsId> 
      <LagenhetsId>24298880</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>54</FodelselanKod> 
      <Fodelseforsamling>LUR</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>197002140098</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Fornamn>Robert Daniel</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Juhlin</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20131102</Folkbokforingsdatum> 
     <LanKod>01</LanKod> 
     <KommunKod>80</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>TRÄNGKÅREN 3</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>RÅLAMBSVÄGEN 19 LGH 1102</Utdelningsadress2> 
      <PostNr>11259</PostNr> 
      <Postort>STOCKHOLM</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>010129327</FastighetsId> 
      <AdressplatsId>1447909</AdressplatsId> 
      <LagenhetsId>24809951</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>01</FodelselanKod> 
      <Fodelseforsamling>HUSBY-ÄRL.</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>195902134815</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>Hans Peter</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Hultman</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20130809</Folkbokforingsdatum> 
     <LanKod>13</LanKod> 
     <KommunKod>82</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>SLÄRYD 1:19</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>SLÄRYD 122</Utdelningsadress2> 
      <PostNr>31161</PostNr> 
      <Postort>ULLARED</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>130150999</FastighetsId> 
      <AdressplatsId>11291263</AdressplatsId> 
      <LagenhetsId>22077220</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>54</FodelselanKod> 
      <Fodelseforsamling>MÖLNDAL</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
    <FolkbokforingspostTYPE> 
    <Sekretessmarkering xsi:nil="true" /> 
    <Personpost> 
     <PersonId> 
     <PersonNr>197306235057</PersonNr> 
     </PersonId> 
     <HanvisningsPersonNr xsi:nil="true" /> 
     <Namn> 
     <Tilltalsnamnsmarkering>20</Tilltalsnamnsmarkering> 
     <Fornamn>Carl Fredrik</Fornamn> 
     <Mellannamn xsi:nil="true" /> 
     <Efternamn>Lundin</Efternamn> 
     <Aviseringsnamn xsi:nil="true" /> 
     </Namn> 
     <Folkbokforing> 
     <Folkbokforingsdatum>20111201</Folkbokforingsdatum> 
     <LanKod>12</LanKod> 
     <KommunKod>82</KommunKod> 
     <ForsamlingKod xsi:nil="true" /> 
     <Fastighetsbeteckning>OSCAR II 31</Fastighetsbeteckning> 
     <FiktivtNr>0</FiktivtNr> 
     </Folkbokforing> 
     <Adresser> 
     <Folkbokforingsadress> 
      <CareOf xsi:nil="true" /> 
      <Utdelningsadress1 xsi:nil="true" /> 
      <Utdelningsadress2>FÖRENINGSGATAN 45</Utdelningsadress2> 
      <PostNr>26136</PostNr> 
      <Postort>LANDSKRONA</Postort> 
     </Folkbokforingsadress> 
     <Riksnycklar> 
      <FastighetsId>120291075</FastighetsId> 
      <AdressplatsId>1748543</AdressplatsId> 
      <LagenhetsId>24233009</LagenhetsId> 
     </Riksnycklar> 
     </Adresser> 
     <Fodelse> 
     <HemortSverige> 
      <FodelselanKod>54</FodelselanKod> 
      <Fodelseforsamling>GREBBESTAD</Fodelseforsamling> 
     </HemortSverige> 
     </Fodelse> 
     <Medborgarskap> 
     <MedborgarskapslandKod>SE</MedborgarskapslandKod> 
     <Medborgarskapsdatum>0</Medborgarskapsdatum> 
     </Medborgarskap> 
    </Personpost> 
    </FolkbokforingspostTYPE> 
</ArrayOfFolkbokforingspostTYPE> 

Antwort

1

Try this ....

Usings

using System; 
using System.Collections.Generic; 
using System.Xml.Serialization; 
using System.IO; 
using System.Linq; 

-Code .... Kopieren Sie den folgenden Code in Ihre Konsole Anwendung einfügen genau so, wie es hier ist .... und nicht Vergessen Sie nicht, Ihre xml.xml-Datei mit Ihrer XML-Datei im Ordner application * .exe zu erstellen ....

class Program 
{ 
    static void Main(string[] args) 
    { 
     try 
     { 

      List<FolkbokforingspostTYPE> deserializedList = new List<FolkbokforingspostTYPE>(); 
      deserializedList = Deserialize<List<FolkbokforingspostTYPE>>(); 

      var PersonalIdentityNumber = deserializedList.Select(item => item.Personpost.PersonId.PersonNr).FirstOrDefault(); 
      Console.WriteLine("Personnummer: " + PersonalIdentityNumber); 
     }// Put a break-point here, then mouse-over PersonalIdentityNumber... deserializedList contains everything if you need it 
     catch (Exception) 
     { 

      throw; 
     } 
     Console.ReadKey(); 
    } 

    private static T Deserialize<T>() where T : new() 
    { 
     // Create an instance of T 
     T ReturnListOfT = CreateInstance<T>(); 


     // Create a new file stream for reading the XML file 
     using (FileStream ReadFileStream = new FileStream("xml.xml", FileMode.Open, FileAccess.Read, FileShare.Read)) 
     { 
      // Construct a XmlSerializer and use it 
      // to serialize the data from the stream. 
      XmlSerializer SerializerObj = new XmlSerializer(typeof(T)); 
      try 
      { 
       // Deserialize the hashtable from the file 
       ReturnListOfT = (T)SerializerObj.Deserialize(ReadFileStream); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(string.Format("Failed to serialize. Reason: {0}", ex.Message)); 
      } 

     } 
     // return the Deserialized data. 
     return ReturnListOfT; 
    } 

    // function to create instance of T 
    public static T CreateInstance<T>() where T : new() 
    { 
     return (T)Activator.CreateInstance(typeof(T)); 
    } 
} 

[XmlRoot(ElementName = "Sekretessmarkering")] 
public class Sekretessmarkering 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "PersonId")] 
public class PersonId 
{ 
    [XmlElement(ElementName = "PersonNr")] 
    public string PersonNr { get; set; } 
} 

[XmlRoot(ElementName = "HanvisningsPersonNr")] 
public class HanvisningsPersonNr 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Mellannamn")] 
public class Mellannamn 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Aviseringsnamn")] 
public class Aviseringsnamn 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Namn")] 
public class Namn 
{ 
    [XmlElement(ElementName = "Tilltalsnamnsmarkering")] 
    public string Tilltalsnamnsmarkering { get; set; } 
    [XmlElement(ElementName = "Fornamn")] 
    public string Fornamn { get; set; } 
    [XmlElement(ElementName = "Mellannamn")] 
    public Mellannamn Mellannamn { get; set; } 
    [XmlElement(ElementName = "Efternamn")] 
    public string Efternamn { get; set; } 
    [XmlElement(ElementName = "Aviseringsnamn")] 
    public Aviseringsnamn Aviseringsnamn { get; set; } 
} 

[XmlRoot(ElementName = "ForsamlingKod")] 
public class ForsamlingKod 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Folkbokforing")] 
public class Folkbokforing 
{ 
    [XmlElement(ElementName = "Folkbokforingsdatum")] 
    public string Folkbokforingsdatum { get; set; } 
    [XmlElement(ElementName = "LanKod")] 
    public string LanKod { get; set; } 
    [XmlElement(ElementName = "KommunKod")] 
    public string KommunKod { get; set; } 
    [XmlElement(ElementName = "ForsamlingKod")] 
    public ForsamlingKod ForsamlingKod { get; set; } 
    [XmlElement(ElementName = "Fastighetsbeteckning")] 
    public string Fastighetsbeteckning { get; set; } 
    [XmlElement(ElementName = "FiktivtNr")] 
    public string FiktivtNr { get; set; } 
} 

[XmlRoot(ElementName = "CareOf")] 
public class CareOf 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Utdelningsadress1")] 
public class Utdelningsadress1 
{ 
    [XmlAttribute(AttributeName = "nil", Namespace = "http://www.w3.org/2001/XMLSchema-instance")] 
    public string Nil { get; set; } 
} 

[XmlRoot(ElementName = "Folkbokforingsadress")] 
public class Folkbokforingsadress 
{ 
    [XmlElement(ElementName = "CareOf")] 
    public CareOf CareOf { get; set; } 
    [XmlElement(ElementName = "Utdelningsadress1")] 
    public Utdelningsadress1 Utdelningsadress1 { get; set; } 
    [XmlElement(ElementName = "Utdelningsadress2")] 
    public string Utdelningsadress2 { get; set; } 
    [XmlElement(ElementName = "PostNr")] 
    public string PostNr { get; set; } 
    [XmlElement(ElementName = "Postort")] 
    public string Postort { get; set; } 
} 

[XmlRoot(ElementName = "Riksnycklar")] 
public class Riksnycklar 
{ 
    [XmlElement(ElementName = "FastighetsId")] 
    public string FastighetsId { get; set; } 
    [XmlElement(ElementName = "AdressplatsId")] 
    public string AdressplatsId { get; set; } 
    [XmlElement(ElementName = "LagenhetsId")] 
    public string LagenhetsId { get; set; } 
} 

[XmlRoot(ElementName = "Adresser")] 
public class Adresser 
{ 
    [XmlElement(ElementName = "Folkbokforingsadress")] 
    public Folkbokforingsadress Folkbokforingsadress { get; set; } 
    [XmlElement(ElementName = "Riksnycklar")] 
    public Riksnycklar Riksnycklar { get; set; } 
} 

[XmlRoot(ElementName = "HemortSverige")] 
public class HemortSverige 
{ 
    [XmlElement(ElementName = "FodelselanKod")] 
    public string FodelselanKod { get; set; } 
    [XmlElement(ElementName = "Fodelseforsamling")] 
    public string Fodelseforsamling { get; set; } 
} 

[XmlRoot(ElementName = "Fodelse")] 
public class Fodelse 
{ 
    [XmlElement(ElementName = "HemortSverige")] 
    public HemortSverige HemortSverige { get; set; } 
} 

[XmlRoot(ElementName = "Medborgarskap")] 
public class Medborgarskap 
{ 
    [XmlElement(ElementName = "MedborgarskapslandKod")] 
    public string MedborgarskapslandKod { get; set; } 
    [XmlElement(ElementName = "Medborgarskapsdatum")] 
    public string Medborgarskapsdatum { get; set; } 
} 

[XmlRoot(ElementName = "Personpost")] 
public class Personpost 
{ 
    [XmlElement(ElementName = "PersonId")] 
    public PersonId PersonId { get; set; } 
    [XmlElement(ElementName = "HanvisningsPersonNr")] 
    public HanvisningsPersonNr HanvisningsPersonNr { get; set; } 
    [XmlElement(ElementName = "Namn")] 
    public Namn Namn { get; set; } 
    [XmlElement(ElementName = "Folkbokforing")] 
    public Folkbokforing Folkbokforing { get; set; } 
    [XmlElement(ElementName = "Adresser")] 
    public Adresser Adresser { get; set; } 
    [XmlElement(ElementName = "Fodelse")] 
    public Fodelse Fodelse { get; set; } 
    [XmlElement(ElementName = "Medborgarskap")] 
    public Medborgarskap Medborgarskap { get; set; } 
} 

[XmlRoot(ElementName = "FolkbokforingspostTYPE")] 
public class FolkbokforingspostTYPE 
{ 
    [XmlElement(ElementName = "Sekretessmarkering")] 
    public Sekretessmarkering Sekretessmarkering { get; set; } 
    [XmlElement(ElementName = "Personpost")] 
    public Personpost Personpost { get; set; } 
} 

}

Der obige Code lädt Ihre XML aus einer Datei xml.xml in der Anwendung * .exe Ordner namens .... Check 'PersonalIdentityNumber' für Ihr Ergebnis ....

////////////////

UPDATE 1

////////////////

Für alle PersonalIdentityNumber im neuen XML, ersetzen nur die ‚Main‘ Funktion in der Konsolenanwendung mit dem Code unten ....

static void Main(string[] args) 
    { 
     try 
     { 

      List<FolkbokforingspostTYPE> deserializedList = new List<FolkbokforingspostTYPE>(); 
      deserializedList = Deserialize<List<FolkbokforingspostTYPE>>(); 

      var PersonalIdentityNumber = deserializedList.Select(item => item.Personpost.PersonId.PersonNr).ToList(); 
      foreach(var i in PersonalIdentityNumber) 
      { 
       Console.WriteLine("Personnummer: " + i); 
      } 
     }// Put a break-point here, then mouse-over PersonalIdentityNumber... deserializedList contains everything if you need it 
     catch (Exception) 
     { 

      throw; 
     } 
     Console.ReadKey(); 
    } 
+0

Ich habe es versucht, aber es scheint nicht das Objekt zu bekommen .. –

+0

Ich habe versucht: 'Console.WriteLine (SerializerObj.PersonalIdentityNumber);' Ist das korrekt? –

+0

Setzen Sie einen Break-Point in den Code am Kommentar unter der Zeile, die beginnt ... 'var PersonalIdentityNumber = ...' und dann Maus über 'PersonalIdentityNumber' – Monty

3

Ihr XMLs Wurzelknoten ist ein ArrayOfFolkbokforingspostTYPE, die dann ein FolkbokforingspostTYPE enthält.

Ihre Deserialisierungsklasse hat jedoch keine Definition von FolkbokforingspostTYPE, nur von der Wurzel ArrayOfFolkbokforingspostTYPE.

Sie können eine Deserialisierungsklasse in Visual Studio mithilfe der speziellen Einfügefunktion automatisch erstellen. Überprüfen Sie this MSDN-Verbindung.

Here's was meine VS generiert, nachdem ich Ihre XML verwendet.

Überprüfen Sie die Verwendung here.

EDIT: Ich habe beide Codebeispiele aktualisiert. Das ursprüngliche Codebeispiel, das ich zur Verfügung gestellt habe, funktionierte gut für das XML, das Sie in der ursprünglichen Frage angegeben haben. Das aktualisierte XML weist eine etwas andere Deserialisierungsklasse auf, die jedoch wichtig ist. Die neuen Codebeispiele arbeiten mit dem aktualisierten XML aus Ihrer Frage.

+0

@HenkHolterman Was auch immer der Grund ist, die Definition nicht die XML entspricht. – Shaamaan

+0

@Shaamaan Ich habe versucht, dass es aber nicht funktioniert. Ich kann keinen Wert von der Klasse erhalten, wenn ich das in meine Deserialisierungsklasse einfüge. –

+0

@ Simon.S Sie machen eindeutig etwas falsch. Ich kann das Objekt deserialisieren und den Wert ohne Probleme erhalten. Überprüfen Sie den Code, den ich zu PasteBin hinzugefügt habe. Es wird davon ausgegangen, dass die Deserialisierungsklassen wie im MSDN-Link beschrieben erstellt wurden (ich habe die Namen nicht geändert). – Shaamaan

0

Ich denke, das Problem ist, dass die FolkbokforingspostTYPE im Codefragment nicht erwähnt wird, nur ArrayOfFolkbokforingspostTYPE. Der Deserializer erwartet, dass die Elementelemente direkte untergeordnete Elemente des letzteren sind.

Verwandte Themen