XML命名空间和XmlNamespaceManager c#

时间:2013-06-12 09:50:55

标签: c# xml

我有点问题..

我正在使用XmlNamespaceManager来解析具有未知名称空间的上下文..

它工作得很好,但我有一个问题...

这是生成的XML的快照商店

<RecordingConfig b:topic="true" xmlns="http://www.onvif.org/ver10/topics" xmlns:b="http://docs.oasis-open.org/wsn/t-1">
      <JobState b:topic="true">
...
      </JobState>
    </RecordingConfig>

没关系..但是我有点像这样的改变:

<tns1:RecordingConfig b:topic="true" xmlns:tns1="http://www.onvif.org/ver10/topics" xmlns:b="http://docs.oasis-open.org/wsn/t-1">
      <tns1::JobState b:topic="true">
...
      </tns1:JobState>
    </tns1:RecordingConfig>

(查看前缀tns1:)

有人可以帮助我吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

要删除命名空间,您必须编写大约15行代码。

如果您知道Xmlns然后只需替换

,您就可以轻松完成

xdoc是您的xml文件,然后

xdoc.LoadXml(xdoc.OuterXml.Replace("xmlns=\"http://www.onvif.org/ver10/topics\"", ""));

然后您可以选择任何节点

var node = xdoc.SelectNodes("RecordingConfig/JobState");