C# 无法通过XElement创建名称中带有冒号的XML标记

C# 无法通过XElement创建名称中带有冒号的XML标记,c#,xml,rss,georss,C#,Xml,Rss,Georss,我需要创建名为geo:lat和geo:long的XML标记来创建GeoRSS提要。但它会抛出 名称中不能包含十六进制值0x3A的“:”字符 代码的一部分是: XElement("geo:lat", item.Latitude); XElement("geo:long", item.Longitude); 如何在C#中实现此格式 美国地质勘探局M5+地震 过去7天的实时全球地震列表 https://earthquake.usgs.gov/eqcenter/ 美国地质调查局 星期四2007年

我需要创建名为
geo:lat
geo:long
的XML标记来创建GeoRSS提要。但它会抛出

名称中不能包含十六进制值0x3A的“:”字符

代码的一部分是:

 XElement("geo:lat", item.Latitude);
 XElement("geo:long", item.Longitude);
如何在C#中实现此格式


美国地质勘探局M5+地震
过去7天的实时全球地震列表
https://earthquake.usgs.gov/eqcenter/
美国地质调查局
星期四2007年12月27日太平洋标准时间23:56:15
2007年12月28日星期五05:24:17格林尼治标准时间
M 5.3,印度尼西亚苏门答腊岛北部
2007年12月28日05:24:17格林尼治标准时间
https://example.com
5.5319
95.8972
geo
是名称
lat
lon
的前缀

XNamespace geo = "http://www.w3.org/2003/01/geo/wgs84_pos#";
XNamespace dc= "http://purl.org/dc/elements/1.1/";

XElement(geo + "lat", item.Latitude);
XElement(geo + "long", item.Longitude);

以前试过。你知道为什么它产生了
1231231
而不是
?@gneric因为它是用不同的方式写的一样的东西吗?谢谢你,我真的希望它是一样的,而且不会有问题usability@gneric没问题,它是有效的xml。您可以插入名为
XNamespace.Xmlns+“geo”的属性
获取输出中的前缀。
XNamespace geo = "http://www.w3.org/2003/01/geo/wgs84_pos#";
XNamespace dc= "http://purl.org/dc/elements/1.1/";

XElement(geo + "lat", item.Latitude);
XElement(geo + "long", item.Longitude);