Reading XML file

  • Thread starter Thread starter greatbarrier86
  • Start date Start date
G

greatbarrier86

Hi,

I have an XML file that looks like this.

<?xml version="1.0" ?>
- <WURedist>
- <StandaloneRedist Version="32">
<architecture name="x86" clientVersion="7.2.6001.788"
downloadUrl="http://download.windowsupdate.com/W...one/7.2.6001.788/WindowsUpdateAgent30-x86.exe" />
<architecture name="x64" clientVersion="7.2.6001.788"
downloadUrl="http://download.windowsupdate.com/W...one/7.2.6001.788/WindowsUpdateAgent30-x64.exe" />
<architecture name="ia64" clientVersion="7.2.6001.788"
downloadUrl="http://download.windowsupdate.com/W...ne/7.2.6001.788/WindowsUpdateAgent30-ia64.exe" />
<MUAuthCab RevisionId="7"
DownloadURL="http://update.microsoft.com/v8/microsoftupdate/redir/MUAuth.cab"
/>
</StandaloneRedist>
</WURedist>

i am trying to get my program to read the x86 line and get the ClientVersion
and DownloadURL from that line, but i dont know how to do it. Can anyone
offer some advice?

Thanks so much,
Jason
 
greatbarrier86 said:
i am trying to get my program to read the x86 line and get the ClientVersion
and DownloadURL from that line, but i dont know how to do it. Can anyone
offer some advice?

Which version of the .NET framework do you use? With .NET 3.5 you could
use LINQ to XML, with earlier versions XmlDocument or XPathNavigator.

Here is a LINQ to XML sample:

string n = "x86";
XDocument doc = XDocument.Load(@"..\..\XMLFile1.xml");
XElement arch =
doc.Root.Element("StandaloneRedist").Elements("architecture").Where(a =>
(string)a.Attribute("name") == n).FirstOrDefault();
if (arch != null)
{
Console.WriteLine(
"Client version: {0}; Download URL: {1}",
arch.Attribute("clientVersion").Value, arch.Attribute("downloadUrl").Value);
}
 
Wow...nice!! thanks so much for your help!!

Martin Honnen said:
Which version of the .NET framework do you use? With .NET 3.5 you could
use LINQ to XML, with earlier versions XmlDocument or XPathNavigator.

Here is a LINQ to XML sample:

string n = "x86";
XDocument doc = XDocument.Load(@"..\..\XMLFile1.xml");
XElement arch =
doc.Root.Element("StandaloneRedist").Elements("architecture").Where(a =>
(string)a.Attribute("name") == n).FirstOrDefault();
if (arch != null)
{
Console.WriteLine(
"Client version: {0}; Download URL: {1}",
arch.Attribute("clientVersion").Value, arch.Attribute("downloadUrl").Value);
}
 
Back
Top