Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xpath命名空间解析_C#_.net_Xml_Xpath - Fatal编程技术网

C# Xpath命名空间解析

C# Xpath命名空间解析,c#,.net,xml,xpath,C#,.net,Xml,Xpath,我尝试像这样解析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.sourcef

我尝试像这样解析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>

例行公事

您应该使用以下内容:

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");