.net 使用GML命名空间创建XElement对象时出现问题
我正在尝试使用GML名称空间和XML到LINQ构建一个XML文档 我的目标是一个.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
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));