从根元素c#读取xml命名空间

时间:2014-03-18 09:24:31

标签: c# xml namespaces

我有一个看起来像这样的xml:

<imp:root xmlns:imp="http://......" xmlns="http://........">
   <imp:doc>blabla</imp:doc>
   ....
</imp:root>

当root使用该命名空间时,我无法从根目录获取名称空间imp。

  • 是否可以使用命名空间使用根元素定义这样的xml。
  • 如何在C#中解析它?

1 个答案:

答案 0 :(得分:0)

您需要使用XNamespace来访问带有名称空间的元素。

XDocument doc=XDocument.Load(path);
XNamespace imp="http://";

现在访问根元素

doc.Element(imp+"root");

或者,您可以避免使用LocalName使用命名空间。

 doc.Elements.Single(x=>x.Name.LocalName=="root");