为什么在root上加上xmlns会选取不了?
xupc 2003-11-24 04:10:39 Xml文件:Tables.xml
<?xml version="1.0" encoding="utf-8" ?>
<Tables>
<DataSource>Oracle</DataSource>
<Table Name="TestInfo" PrimaryKey="ID" RelName="testinfo">
<Fields>
<Field>
<Name>ID</Name>
<DataType>VarChar</DataType>
<Length>12</Length>
<RelField>rID</RelField>
</Field>
<Field>
<Name>FieldA</Name>
<DataType>VarChar</DataType>
<Length>20</Length>
<RelField>rFieldA</RelField>
</Field>
<Field>
<Name>FieldB</Name>
<DataType>VarChar</DataType>
<Length>20</Length>
<RelField>rFieldB</RelField>
</Field>
</Fields>
</Table>
</Tables>
C#访问语句:
XPathDocument xpd=new XPathDocument("Tables.xml",XmlSpace.Default);
XPathNavigator xpn=xpd.CreateNavigator();
XPathExpression xe=xpn.Compile("//Field[Name='ID']");
XPathNodeIterator xn=xpn.Select("/Tables/Table/Fields/Field");
while (xn.MoveNext())
{
Console.Write(xn.Current);
}
此时有值输出
表明选取胜了node,
但是我更改一下Xml文件
将<Tables>
改为
<Tables xmlns="http://tempuri.org/Tables.xsd">
此时无值输出。
不知访问代码中何处加上namespace.