Asp.net 带字符串或XmlDocument的XPath

Asp.net 带字符串或XmlDocument的XPath,asp.net,Asp.net,解析web服务返回的xml时遇到问题,因为它实际上只是一个字符串。web服务不包含任何提交请求的方法,也不包含处理响应的对象,因此我只是将xml作为字符串获取,并尝试将其解析为我创建的对象中的属性 我在搞XPath,但我不知道如何在XPath中使用字符串或XmlDocument对象。我没有实际的xml文件,只有一个用于创建XmlDocument对象的字符串 private void SetProperties(string _xml) { XmlDocument _doc

解析web服务返回的xml时遇到问题,因为它实际上只是一个字符串。web服务不包含任何提交请求的方法,也不包含处理响应的对象,因此我只是将xml作为字符串获取,并尝试将其解析为我创建的对象中的属性

我在搞XPath,但我不知道如何在XPath中使用字符串或XmlDocument对象。我没有实际的xml文件,只有一个用于创建XmlDocument对象的字符串

private void SetProperties(string _xml)
    {
        XmlDocument _doc = new XmlDocument();
        _doc.LoadXml(_xml);
    }

关于如何使用XPath查询XmlDocument对象,有什么想法吗?

或者这是一个很好的开始。这些页面上有从XmlDocument中选择/查询节点列表的示例。

您是否尝试调用XmlDocument对象上的各种方法?例如,SelectSingleNode方法接受xpath字符串并返回xmlNode


另外,请查看此站点以了解更多信息:

您可以创建一个新的XPathExpression对象,然后使用它对XDoc进行选择。添加到您开始使用的XDocument加载代码中:

XmlDocument _doc = new XmlDocument();
_doc.LoadXml(_xml);

XPathNavigator navigator = _doc.CreateNavigator();
XPathExpression expression = navigator.Compile("/foo/bar");
XPathNodeIterator iterator = navigator.Select(expression);

while (iterator.HasNext()) {
  //Do Something With iterator.Current.Value;
}

如果您已经/可以使用.NET 3.0+使用Linq to XML和XDocument,而不是XmlDocument-为您提供更多的播放方式。现在,当我尝试实例化XPathNodeIterator时,我遇到了这个错误:“需要名称空间管理器或XsltContext。此查询具有前缀、变量或用户定义的函数。”我在网上也找不到任何帮助。有什么建议吗?