我尝试解析像这样的xml:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("file.xml");
XmlNode jobNode = xmlDoc.SelectSingleNode("//job-data/schedule/job");
我尝试解析这个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>
但是我的jobNode总是空的。 如果我将我的xml更改为它,它可以工作:
<?xml version="1.0" encoding="utf-8" ?>
<job-data>
<schedule>
<job>
<name>ExampleJob</name>
</job>
</schedule>
</job-data>
答案 0 :(得分:2)
你应该使用这样的东西:
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");