C# Xpath命名空间解析
我尝试像这样解析xml: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
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");