C# 在C中从xml流查找名称空间#

C# 在C中从xml流查找名称空间#,c#,xml,winforms,xml-namespaces,C#,Xml,Winforms,Xml Namespaces,我有一个应用程序,可以连续获取xml流,然后使用它来处理一些信息。到目前为止,我只有一个名称空间,所有的流,我很容易做到这一点 doc = new XPathDocument(ds + "/probe"); navigator = doc.CreateNavigator(); ns = new XmlNamespaceManager(navigator.NameTable); ns.AddNamespace("m", "urn:namsp.org:namSpDev:1.1");

我有一个应用程序,可以连续获取xml流,然后使用它来处理一些信息。到目前为止,我只有一个名称空间,所有的流,我很容易做到这一点

doc = new XPathDocument(ds + "/probe");
navigator = doc.CreateNavigator();
ns = new XmlNamespaceManager(navigator.NameTable);
ns.AddNamespace("m", "urn:namsp.org:namSpDev:1.1");                       
nodes = navigator.Select("//m:DataItem", ns);
while (nodes.MoveNext())
{
     node = nodes.Current;                    
}
但现在我有一个问题。另一个流具有名称空间

"urn:namsp.org:namSpDev:1.2"
因此,在我的应用程序中,我必须检查流并查看它是哪个名称空间,然后只有我可以使用

    ns.AddNamespace("m", "urn:namsp.org:namSpDev:1.1");      
我该怎么做


我尝试转换doc.toString()并使用.contains()检查其中是否有一个通过,但它不起作用。

这些链接可能有用:


这些链接可能有用:


我最后做的是检索xml流并将其转换为字符串。然后使用

string.contains("xmlns")

我拆分了标记,并使用标记标识符获取名称空间的值。这对我来说很有用,因为我使用的流中的名称空间不会有太大差异。

我最后做的是检索xml流并将其转换为字符串。然后使用

string.contains("xmlns")

我拆分了标记,并使用标记标识符获取名称空间的值。这对我来说很有效,因为我使用的流中的名称空间不会有太大差异。

我已经检查了所有这些。如果你看我的问题,肯定会有所不同。我还找到了一个解决方法,尽管它不是一个最佳的解决方案。我已经检查了所有这些。如果你看我的问题,肯定会有所不同。我还找到了一个解决方法,尽管它不是一个最佳的解决方案。