.net 使用GML命名空间创建XElement对象时出现问题

.net 使用GML命名空间创建XElement对象时出现问题,.net,namespaces,linq-to-xml,gml,.net,Namespaces,Linq To Xml,Gml,我正在尝试使用GML名称空间和XML到LINQ构建一个XML文档 我的目标是一个XElement,内容如下: <gml:name>...</gml:name> XNamespace nsGML = "http://www.opengis.net/gml"; XElement item = new XElement(nsGML + "name", new XAttribute(XNamespace.Xmlns + "gml", ns

我正在尝试使用GML名称空间和XML到LINQ构建一个XML文档

我的目标是一个
XElement
,内容如下:

<gml:name>...</gml:name>
XNamespace nsGML = "http://www.opengis.net/gml";
XElement item = new XElement(nsGML + "name",
                    new XAttribute(XNamespace.Xmlns + "gml", nsGML.NamespaceName));
首先是XML

<name xmlns="http://www.opengis.net/gml" />
如果不指定名称空间声明属性,LINQ to XML将自动为您选择一个前缀(在本例中,它使用空前缀)。如果要强制使用特定前缀,需要提供名称空间声明属性。

Vitek:感谢您的快速回复。我得出的结论是等价的,但我也确实想要视觉效果——你的建议很有魅力:)
<name xmlns="http://www.opengis.net/gml" />
<gml:name xmlns:gml="http://opengis.net/gml" />
XNamespace nsGML = "http://www.opengis.net/gml";
XElement item = new XElement(nsGML + "name",
                    new XAttribute(XNamespace.Xmlns + "gml", nsGML.NamespaceName));