Andrea
Andrea

Reputation: 23

Load data from XML nodes

i have this structure of data:

<?xml version="1.0" encoding="windows-1250"?>
<?xml-stylesheet type="text/xsl" href="usb71105.xsl"?>
<manas:usb xmlns:manas="http://www.manas.info/">
  <manas:qr00>
    <manas:verzemanas>26052708</manas:verzemanas>
    <manas:verzexml>2016.03.29a</manas:verzexml>
    <manas:druhtisku>U_Tisk2P/2159405/TRUE</manas:druhtisku>
  </manas:qr00>
  <manas:qr00>
    <manas:verzemanas>26052710</manas:verzemanas>
    <manas:verzexml>2016.03.30a</manas:verzexml>
    <manas:druhtisku>U_Tisk2P/FALSE</manas:druhtisku>
  </manas:qr00>
</manas:usb>

I need to save values of: manas:verzemanas ; manas:verzexml ;

I have this code:

XmlDocument doc = new XmlDocument();
doc.Load("d:\\83116623.XML");
foreach (XmlNode node in doc.DocumentElement)
{
   string name = node.Attributes[0].ToString();
}

Have you any ideas please?

Upvotes: 1

Views: 38

Answers (1)

rbm
rbm

Reputation: 3253

You're probably better off with XDocument. Also you need to use the namespace prefix. E.g.:

    XNamespace ns = "http://www.manas.info/";
    var xdoc = XDocument.Load(@"c:\temp\a\a.xml");
    var verze = xdoc.Root.Elements(ns + "qr00")
                         .Elements(ns + "verzemanas")
                         .Select(e => e.Value);

    verze.ToList().ForEach(v => Console.WriteLine(v));

prints

26052708
26052710

Upvotes: 2

Related Questions