我用XmlNode的SelectSingleNode方法取出的节点都为Null,不知道是什么问题,麻烦各位帮忙看一下,谢谢~C# 代码:
========================================
public XmlDocument MyXml = new XmlDocument();
MyXml.Load("001.xml");
public XmlNamespaceManager MyNSMgr = new XmlNamespaceManager(MyXml.NameTable);
MyNSMgr.AddNamespace("xs", " http://www.w3.org/2001/XMLSchema");//XmlNode MyNode = MyXml.SelectSingleNode("xs:schema/xs:element", MyNSMgr);
XmlNode MyNode = MyXml.SelectSingleNode("//xs:schema/xs:element", MyNSMgr);
//永远找不到这个节点,MyList永远为Null值
========================================
001.xml 内容
========================================
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="ConstructProject">
<xs:annotation>
<xs:documentation>杭州标准接口文档</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="SummaryTable"/>
<xs:element ref="MeasureTable"/>
<xs:element ref="TechMeasureTable"/>
<xs:element ref="ResourceSumTable"/>
<xs:element ref="OtherTable"/>
<xs:element ref="DayWorkTable"/>
<xs:element ref="MainLaborPriceTable"/>
<xs:element ref="MainMaterialPriceTable"/>
<xs:element ref="MainMachinePerDayPriceTable"/>
<xs:choice>
<xs:element ref="JobList" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="SpecList" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="Version" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>标准接口版本号 </xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Name" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>项目名称</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element> ... 中间部分省略 ...</xs:schema>
========================================