C# XML Xpath没有返回我想要的内容

C# XML Xpath没有返回我想要的内容,c#,xml,xpath,C#,Xml,Xpath,我有XML 使用者 22 我使用C和xpath,并希望选择所有rdfs:member-values用户 XPathDocument doc = new XPathDocument(response.GetResponseStream()); XPathNavigator nav = doc.CreateNavigator(); XmlNamespaceManager manager = new XmlNamespaceManager(nav.NameTable); manager.AddName

我有XML

使用者 22 我使用C和xpath,并希望选择所有rdfs:member-values用户

XPathDocument doc = new XPathDocument(response.GetResponseStream());
XPathNavigator nav = doc.CreateNavigator();
XmlNamespaceManager manager = new XmlNamespaceManager(nav.NameTable);
manager.AddNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
manager.AddNamespace("rdfs", "http://www.w3.org/2000/01/rdf-schema#");
manager.AddNamespace("oslc", "http://open-services.net/ns/core#");
XPathNodeIterator iterator = nav.Select("/rdf:RDF/oslc:ResponseInfo/@rdf:resource", manager);

迭代器计数为0,因为未找到匹配项。我不明白为什么。

如果要在rdfs:member元素上添加属性,然后rdfs:member元素应该出现在您的xpath中:/rdf:rdf/oslc:ResponseInfo/rdfs:member/@rdf:resource。另外,我想知道是否可以使用C正则表达式类来提取所有22个字符串的用户名…?@timoftebogdan,然后再开始使用Regex read,如果所有用户名都是Uri的一部分,如您的示例中所示问题,然后只需执行myStringVariable.SubstringmyStringVariable.LastIndexOf'/'即可从Uri提取用户名。如果数据不应包含/character,string.Substring将抛出ArgumentOutOfRangeException-因此您将知道何时遇到不包含Uri的rdf:resource属性…@L.B thanx这是一个很好的建议,sbat回答也解决了问题-_-