将名称空间设置为XElement

时间:2014-11-04 11:29:33

标签: c# xml namespaces xml-namespaces

我在XML树中的XElemenet中获得了一个空的xmlns=""属性。 当我将其命名空间设置为文档命名空间时,如下所示:

string xmlns="FreeForm/SchemaDescription";
XNamespace ana = xmlns;
XElement interactiveRootTag = new XElement(ana + "InteractiveRootTag");

xmlns=""不再存在,但此XElement的所有子项都获得空xmlns=""

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您必须以这种方式添加子元素:

string xmlns="FreeForm/SchemaDescription";

XNamespace ana = xmlns;

XElement interactiveRootTag = new XElement(ana + "InteractiveRootTag");
interactiveRootTag.Add(new XElement(ana + "ChildElement", 
    new XAttribute("attribute","AttributeValue")));

获取这样的XML

<InteractiveRootTag xmlns="FreeForm/SchemaDescription">
   <ChildElement attribute="AttributeValue" />
</InteractiveRootTag>