XPath默认名称空间 [英] XPath default namespace
本文介绍了XPath默认名称空间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对XML文件中的默认名称空间有疑问.
I have a problem with default namespaces in XML file.
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://blog.stevex.net/</loc>
</url>
</urlset>
我正在使用XPathNavigator通过Xpath选择一组节点,如下所示:
I''m using a XPathNavigator to select a set of nodes using Xpath as follows:
XPathNodeIterator result = navigator.Select("/urlset/url/loc");
我没有得到任何结果.
如何在不向XPath表达式添加前缀的情况下解决此问题?
谢谢.
I am not getting any results back.
How can i solve this problem without adding prefixes to XPath expression?
Thank you.
推荐答案
谢谢cmanderson.
我刚刚从XML中删除了默认名称空间.也许我的代码可以帮助某人.
Thank you cmanderson.
I just removed the default namespaces from XML. Maybe my code will help someone.
string RemoveAllDefaulNamespaces(Stream input)
{
string regexp = "xmlns=\".+?\"";
string text;
using (StreamReader reader = new StreamReader(input))
{
text = reader.ReadToEnd();
}
Regex expression = new Regex(regexp, RegexOptions.IgnoreCase|RegexOptions.Multiline);
return expression.Replace(text, string.Empty);
}
这篇关于XPath默认名称空间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文