1

I try to parse an xml like this:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("file.xml");
XmlNode jobNode = xmlDoc.SelectSingleNode("//job-data/schedule/job");

I try to parse this xml:

<?xml version="1.0" encoding="utf-8" ?>
<job-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData"
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 version="2.0">
<schedule>
    <job>
        <name>ExampleJob</name>
    </job>
</schedule>
</job-data>

But my jobNode is alway null. If i change my xml to this it works:

<?xml version="1.0" encoding="utf-8" ?>
<job-data>
<schedule>
    <job>
        <name>ExampleJob</name>
    </job>
</schedule>
</job-data>
Kirill Polishchuk
  • 54,804
  • 11
  • 122
  • 125
Flo
  • 1,179
  • 3
  • 15
  • 43

1 Answers1

2

You should use something like this:

XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlDoc.NameTable);
nsmgr.AddNamespace("ns", "http://quartznet.sourceforge.net/JobSchedulingData");

XmlNode jobNode = xmlDoc.SelectSingleNode("//ns:job-data/ns:schedule/ns:job");
Kirill Polishchuk
  • 54,804
  • 11
  • 122
  • 125