命名空间访问问题

Dong 2007-09-26 11:16:41
命名空间是一个有效的,但不知道如何转换才可以访问到的URL,我知道平常的方式总出现“未将对象引用设置到对象的实例”,结构是这样的

假使的XML有效结构:
<A xmlns="http://webservices......">
<B />
</A>

添加的命名空间:(XMLDoc 是对上面内容的加载)
XmlNamespaceManager xnm = new XmlNamespaceManager(XMLDoc.NameTable);
xnm.AddNamespace("C","http://webservices......");
那么我该如何访问C:A/B ????????????
还有,http://webservices......这个地址是正常情况下按Ctrl+点击访问不到的地址

我该如何访问B的内容?
...全文
229 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dong 2007-09-26
  • 打赏
  • 举报
回复
BearRui(AK-47)(奋斗目标:农妇,山泉,有点田)

谢谢你,你说的对,我一时没有想到。谢谢你。
lovefootball 2007-09-26
  • 打赏
  • 举报
回复
请参考
http://dotnet.aspx.cc/article/7b4c7a42-4cdf-40d1-b293-e86da109a34c/read.aspx
BearRui 2007-09-26
  • 打赏
  • 举报
回复
你的这样读取:

XmlDocument xd = new XmlDocument();
xd.Load(@"a.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xd.NameTable);
nsmgr.AddNamespace("C","http://webservices......");
XmlNode node = xd.SelectSingleNode("/C:A/C:B",nsmgr);
BearRui 2007-09-26
  • 打赏
  • 举报
回复
see:

xml如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<dra xmlns="http://kmp">
<bui>
<buil>
<dispURL>a</dispURL>
... ...

读取方法:
XmlDocument xd = new XmlDocument();
xd.Load(@"C:\a.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xd.NameTable);
nsmgr.AddNamespace(string.Empty,"http://kmp");
XmlNodeList xnl = xd.SelectNodes("configuration/dra/bui/buil/dispURL",nsmgr);

问:为什么读不到东西,应该是可以读到一个node的啊?
-----------------------------------------------------
答:

you need specify non-empty prefix:

XmlDocument xd = new XmlDocument();
xd.Load(@"a.xml");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xd.NameTable);
nsmgr.AddNamespace("xx","http://kmp");
XmlNodeList xnl = xd.SelectNodes("configuration/xx:dra/xx:bui/xx:buil/xx:dispURL",nsmgr);

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧