-
June 23rd, 2009, 08:55 AM
#1
How to read a XML file?
Hi everyone,
I am having some problems to read a xml file. Here is part of it:
<DataSources>
<DataSource>
<Company>P</Company>
<UnitsFiles>
<UnitFile>
<Unit>Metric</Unit>
<File>rec_setup_P.dat</File>
</UnitFile>
<UnitFile>
<Unit>English</Unit>
<File>rec_setup_PEnglish.dat</File>
</UnitFile>
<UnitFile>
<Unit>Mexican</Unit>
<File>rec_setup_PMexico.dat</File>
</UnitFile>
</UnitsFiles>
</DataSource>
<DataSource>
<Company>I</Company>
<UnitsFiles>
<UnitFile>
<Unit>Metric</Unit>
<File>rec_setup_IMetric.dat</File>
</UnitFile>
<UnitFile>
<Unit>English</Unit>
<File>rec_setup_IEnglish.dat</File>
</UnitFile>
<UnitFile>
<Unit>Mexican</Unit>
<File>rec_setup_IMexico.dat</File>
</UnitFile>
</UnitsFiles>
</DataSource>
</DataSources>
I know that the format is not the best but I can't change it.
I need to get the companies with the units and files.
I tried different things and the closest to the solution is:
string FileName = "C:\\company.xml";
XmlReader reader = XmlReader.Create(FileName);
do{
reader.ReadToFollowing("Company" );
string Provider = reader.ReadInnerXml();
List<string> Units = new List<string>();
List<string> Files = new List<string>();
reader.ReadToFollowing("UnitsFiles" );
reader.ReadToFollowing("UnitFile" );
do{
//get units and wits file names
reader.ReadToDescendant("Unit" );
Units.Add(reader.ReadInnerXml());
reader.ReadToFollowing("File" );
Files.Add(reader.ReadInnerXml());
} while (reader.ReadToNextSibling("UnitFile" ));
ProviderUnitsWitsList.Add(new ProviderUnitsWitsFiles(Provider, Units, Files));
} while (reader.ReadToFollowing("DataSource" ));
The problem is that I get only one unit and one file per company.
Does anyone know a solution to my problem?
Thanks a lot.
-
June 23rd, 2009, 12:08 PM
#2
Re: How to read a XML file?
Please use code tags, my eyes are hurting trying to read that.
I would suggest using the XmlDocument class instead of an XmlReader.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|