1

我正在尝试创建一个应该是这样的元素:“< Info i:nil="true" />

我的代码是这样的

来自 xmlReport 中的 xlist

             select new XElement("Binding",
                    new XElement("ID", xlist.ID),
                    new XElement("Name", xlist.Name),


                    new XElement("Info"),
                    new XElement("Specification",
                    new XElement("Number", xlist.Number),
                    new XElement("SerialNumber", xlist.SerialNumber),
                    new XElement("Date", xlist.ConsumedDate),
                    new XElement("Site", xlist.Site)))

这行代码正在生成上面提到的 XML <Info/> 标签

而不是 <Info i:nil=true/>

我如何得到这个 "i:nil=true" ?

4

1 回答 1

1

好吧,这似乎可以满足您的要求,但是您需要填写正确的名称空间:

using System;
using System.Xml.Linq;

class Program
{    
    public static void Main()
    {
        XNamespace ns = "http://somenamespace";
        XElement element = new XElement("Root",
            new XAttribute(XNamespace.Xmlns + "i", ns.ToString()),
            new XElement("info",
                new XAttribute(ns + "nil", true)));

        Console.WriteLine(element);
    }    
}

第一个属性将前缀“i”与根元素及其后代的命名空间“http://somenamespace”相关联。第二个属性使用该命名空间,当元素被写出时,前缀用于表示命名空间。

于 2012-06-13T17:15:02.117 回答