在LINQ to XML中编写命名空间属性

时间:2010-07-30 06:22:40

标签: c# linq-to-xml

我想通过C#使用LINQ to XML写出以下XAML。

<Activity x:Class="WorkflowConsoleApplication1.Activity1" mva:VisualBasic.Settings="Assembly references and imported namespaces for internal implementation"> </Activity> 

如何指定XNamespace来实现上述输出?

1 个答案:

答案 0 :(得分:1)

此代码将执行此操作:

var el = new XElement(
    "Activity",
    new XAttribute(XName.Get("Class", "SomeNamespace"), "WorkflowConsoleApplication1.Activity1"),
    new XAttribute(
        XName.Get("VisualBasic.Settings", "SomeOtherNamespace"),
        "Assembly references and imported namespaces for internal implementation"));
Console.WriteLine(el.ToString());

注意你如何指定前缀,而是指定这些属性所属的命名空间。这是设计的并且与XML规范一致。如果此元素是已为您正在使用的命名空间定义前缀的另一个元素的子元素,则将自动生成前缀或从包含元素中获取前缀。