请问C#中如何解析下面的XML文件?

huagou 2010-09-02 03:46:39
一个XML文件的结构如下所示:
<Define xmlns="http://www.aaabbb.com/v2_0_2">
<Version>2.0.2</Version>
</Define>

请问如何获取到Version的值?

======================================================================================================

假如XML文件结构修改为下面的
<Define xmlns:aaa="http://www.aaabbb.com/v2_0_2">
<Version>2.0.2</Version>
</Define>

那我可以使用如下代码进行获取:

string strVersion = "";
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(strXmlDocPath);
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable());
nsmgr.AddNamespace("aaa", "http://www.aaabbb.com/v2_0_2");
XmlNode node = objXmlDoc.DocumentElement.SelectSingleNode("/Define/Version", nsmgr);
if (node != null)
{
strVersion = node.InnerText.ToString();
}

但是对于上面代码中那种xmlns后面没有东西的代码该怎么访问啊?
...全文
163 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
huagou 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 net_lover 的回复:]
但是对于上面代码中那种xmlns后面没有东西的代码该怎么访问啊?

没有就随便写个名字,方法一样
nsmgr.AddNamespace("x", "http://www.aaabbb.com/v2_0_2");
XmlNode node = objXmlDoc.DocumentElement.SelectSingleNode("/x:Define/x:Version", nsmgr);
[/Quote]

还是孟老大的办法有用,多谢多谢!!!
huagou 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 netteans 的回复:]
strVersion = NodeList.SelectSingleNode["Version"].InnerText;

应该可以,你可以断点调试一下看 doc 和 NodeList 里面有什么
[/Quote]

NodeList 根本就没有SelectSingleNode方法啊!
孟子E章 2010-09-02
  • 打赏
  • 举报
回复
但是对于上面代码中那种xmlns后面没有东西的代码该怎么访问啊?

没有就随便写个名字,方法一样
nsmgr.AddNamespace("x", "http://www.aaabbb.com/v2_0_2");
XmlNode node = objXmlDoc.DocumentElement.SelectSingleNode("/x:Define/x:Version", nsmgr);
  • 打赏
  • 举报
回复
strVersion = NodeList.SelectSingleNode["Version"].InnerText;

应该可以,你可以断点调试一下看 doc 和 NodeList 里面有什么
liuyilin888 2010-09-02
  • 打赏
  • 举报
回复
SelectSingleNode
huagou 2010-09-02
  • 打赏
  • 举报
回复
晕,不要凭空想象好不好,你这种方法根本不行。
zyxfcb1520 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 forever803 的回复:]
string strVersion = "";
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
XmlNodeList NodeList = doc.SelectNodes("Define");
strVersion =NodeList["Version"].InnerText;
[/Quote]

zyxfcb1520 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 huagou 的回复:]
一个XML文件的结构如下所示:
<Define xmlns="http://www.aaabbb.com/v2_0_2">
<Version>2.0.2</Version>
</Define>

请问如何获取到Version的值?

============================================================================……
[/Quote]
--
forever803 2010-09-02
  • 打赏
  • 举报
回复
string strVersion = "";
XmlDocument doc = new XmlDocument();
doc.Load(fileName);
XmlNodeList NodeList = doc.SelectNodes("Define");
strVersion =NodeList["Version"].InnerText;

110,533

社区成员

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

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

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