我有以下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">
<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>
我想反序列化它,但我没有得到值。
这是反序列化类:
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;
}
}
}
}
}
这是主类:
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();
}
}
我试图显示PersonalIdentityNumber
只是为了尝试一下,但它并没有得到它的价值。所有控制台正在打印的都是
信息:
人物编号:
为什么它没有得到PersonalIdentityNumber
的值?(PersonNr
)。
更新2
我的整个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>
您的XML根节点是一个ArrayOfFolkbokforingspostTYPE
,然后它包含一个FolkbokforingspostTYPE
。
但是,反序列化类没有FolkbokforingspostTYPE
的定义,只有根ArrayOfFolkbokforingspostTYPE
的定义。
您可以使用特殊的粘贴功能在VisualStudio中自动创建反序列化类。查看此MSDN链接。
以下是我的VS在使用您的XML后生成的内容。
请在此处查看用法。
编辑:我已经更新了两个代码示例。我提供的最初的代码示例对于您在最初的问题中提供的XML非常有效。更新后的XML有一个稍微不同的反序列化类,尽管如此,它仍然很重要。新的代码示例使用问题中更新的XML。
试试这个。。。。
使用
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.IO;
using System.Linq;
代码。。。。将以下代码复制并粘贴到控制台应用程序中,与此处完全一样。。。。不要忘记在application*.exe文件夹中使用xml创建xml.xml文件。。。。
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; }
}
}
上面的代码从application*.exe文件夹中名为XML.XML的文件加载XML。。。。检查"个人身份号码"以获得您的结果。。。。
////////////////
更新1
////////////////
对于新XML中的所有PersonalIdentityNumber,请使用以下代码仅替换Console应用程序中的"Main"函数。。。。
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();
}
我认为问题在于代码片段中没有提到FolkbokforingspostTYPE
,只有ArrayOfFolkbokforingspostTYPE
。反序列化程序希望成员元素是后者的直接子元素。