看了msdn中关于SelectSingleNode的例子。
XmlDocument doc = new XmlDocument();
doc.Load("booksort.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("bk", "urn:samples");
XmlNode book;
XmlElement root = doc.DocumentElement;
book = root.SelectSingleNode("descendant::book[@bk:ISBN='1-861001-57-6']", nsmgr);
Console.WriteLine(book.OuterXml);
有几个地方,不明白!
1 XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
NameTable是一个什么样子的概念.它存储什么东东。
2 root.SelectSingleNode("descendant::book[@bk:ISBN='1-861001-57-6']", nsmgr);
SelectSingleNode方法为什么要使用"descendant::"和"nsmgr"这两个分别起什么作用。
XmlDocument doc = new XmlDocument();
doc.Load("booksort.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("bk", "urn:samples");
XmlNode book;
XmlElement root = doc.DocumentElement;
book = root.SelectSingleNode("descendant::book[@bk:ISBN='1-861001-57-6']", nsmgr);
Console.WriteLine(book.OuterXml);
有几个地方,不明白!
1 XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
NameTable是一个什么样子的概念.它存储什么东东。
2 root.SelectSingleNode("descendant::book[@bk:ISBN='1-861001-57-6']", nsmgr);
SelectSingleNode方法为什么要使用"descendant::"和"nsmgr"这两个分别起什么作用。
解决方案 »
- 一个SQL查询语句的问题
- winform 下载文件如何做,请指导下
- C#realplayer控件问题
- 怎样用GDI+ 将两个已知圆点,半径的圆连接起来?难点在于不是连接圆心而是要通过圆的边进行连接
- 求救,一个长期在C#的人碰到的一个不是C#的问题,在另外一个版块100分的帖子。
- 运行时出错的问题
- 如何人工生成一个事件
- 关于继承~
- c#调用c语言的dll 错误:尝试读取或写入受保护的内存,这通常指示其他内存已损坏。
- (100分!!)c#中如何指定axMediaPlayer播放文件的相对路径名?
- xml文件中节点和元素有什么区别?
- 哪个类有类似于VC中的CFilefind的功能?我要浏览一个文件夹中的所有的文件。
xml 带名称空间,因此需要 nsmgr来管理名称空间
descendant::是限定节点的,与上面的2个概念没有关系
但是,XmlNameTable还是不是很明白!能否用比较通俗的话解释一下。
为什么在XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
时一定要doc.NameTable.