在XmlDocument中找到一个起点

时间:2014-06-25 16:41:43

标签: c# xmldocument

所以我有这个代码。

XmlDocument document = new XmlDocument();
document.Load(location);

XmlNodeList msgSigsNodeList;
try
{
    XmlNode msgSigsNode = document.SelectSingleNode("/sometimesHere/message");
    msgSigsNodeList = msgSigsNode.SelectNodes("whatEver");
}
catch
{
    XmlNode msgSigsNode = document.SelectSingleNode("/message");
    msgSigsNodeList = msgSigsNode.SelectNodes("whatEver");
}      

但是我不想使用我想要使用的异常,如果语句或更好的话,有没有办法在没有if语句的情况下执行此操作。

2 个答案:

答案 0 :(得分:1)

有两种解决方案:

  1. 您可以使用独立于root的XPath://message(将匹配任何消息标记)
  2. 开始从文档根目录中选择节点:document.DocumentElement.SelectSingleNode("/message")

答案 1 :(得分:1)

如果您不知道根节点的名称,您应该可以通过document上的DocumentElement属性获取它:

XmlElement root = xmlDoc.DocumentElement;