用XmlDocument读xml的问题

ybiori 2005-10-12 05:18:33
xml文件:
...
<root>
<a>
<b>1234</b>
</a>
</root>

用SelectSingleNode("/root/a/b")能得到b节点,如果xml文件是这样:
...
<root xmlns="fdslfjsaf">
<a>
<b>1234</b>
</a>
</root>

根结点加上命名空间,SelectSingleNode("/root/a/b")就是null

请教高手第二种情况怎么办?
...全文
216 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
暗石绿 2005-10-12
  • 打赏
  • 举报
回复
http://chs.gotdotnet.com/quickstart/util/srcview.aspx?path=/quickstart/howto/samples/Xml/XmlNameSpace/XmlNameSpace.src&file=CS\XmlNameSpace.cs&font=3
真相重于对错 2005-10-12
  • 打赏
  • 举报
回复
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
XmlNode book = doc.SelectSingleNode("//ab:book", nsmgr);
ybiori 2005-10-12
  • 打赏
  • 举报
回复
有没有其他办法??
ybiori 2005-10-12
  • 打赏
  • 举报
回复
不能改,原文是这样的:
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel"
xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
。。。。。。
暗石绿 2005-10-12
  • 打赏
  • 举报
回复

正确的 xml 文件格式应该是这样。

<?xml version="1.0" encoding="utf-8" ?>
<root xmlns:aa="fdslfjsaf">
<a>
<b>1234</b>
</a>
</root>

暗石绿 2005-10-12
  • 打赏
  • 举报
回复
注意 xmlns 这个词,

你可以试试把 xmlns 这个词改成 aa 试试。

110,518

社区成员

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

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

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