C# XmlWriter';:';名称中不能包含十六进制值0x3A的字符

C# XmlWriter';:';名称中不能包含十六进制值0x3A的字符,c#,xml,xmlwriter,C#,Xml,Xmlwriter,我正在使用XmlWriter,出现以下错误: Invalid name character in 'news:news'. The ':' character, hexadecimal value 0x3A, cannot be included in a name. 有人知道这是什么原因吗?这是我的密码: using (XmlWriter writer = XmlWriter.Create("moo.xml")) {

我正在使用XmlWriter,出现以下错误:

Invalid name character in 'news:news'. The ':' character, hexadecimal value 0x3A, cannot be included in a name.
有人知道这是什么原因吗?这是我的密码:

using (XmlWriter writer = XmlWriter.Create("moo.xml"))
            {               

                writer.WriteStartDocument();
                writer.WriteStartElement("urlset", "http://www.sitemaps.org/schemas/sitemap/0.9");
                writer.WriteAttributeString("xmlns", "news", null, "http://www.google.com/schemas/sitemap-news/0.9");


                writer.WriteStartElement("url");
                writer.WriteElementString("loc", "http://www.monkeys.co.uk");

                writer.WriteStartElement("news:news");
                writer.WriteEndElement();

                writer.WriteEndElement();



                writer.WriteEndElement();
                writer.WriteEndDocument();

            }

您需要使用的重载包含两个参数:

writer.WriteStartElement("news", "http://www.google.com/schemas/sitemap-news/0.9");
//               Tag   ----^       ^--- Namespace

您需要使用的重载包含两个参数:

writer.WriteStartElement("news", "http://www.google.com/schemas/sitemap-news/0.9");
//               Tag   ----^       ^--- Namespace

@Funky:而不是
writer.WriteStarteElement(“新闻:新闻”)。它将产生以下标记:
。因为URI对于编写器来说已经是名称空间,所以它使用为该URI注册的前缀。@Funky:BTW:您不使用XmlDocument或XDocument(首选)有什么具体原因吗?。XmlWriter通常只在有大量数据的情况下使用,这些数据很难立即保存在内存中。不,没有具体原因,我只是在教程中看到了它,然后继续介绍,现在我将研究XmlDocument和XDocument,正如您所说的,它更适合这种类型的文档thing@Funky:是的,查看XDocument。它要简单得多,尤其是在处理复杂的XML结构时。@Funky:而不是
writer.writeStarteElement(“新闻:新闻”)。它将产生以下标记:
。因为URI对于编写器来说已经是名称空间,所以它使用为该URI注册的前缀。@Funky:BTW:您不使用XmlDocument或XDocument(首选)有什么具体原因吗?。XmlWriter通常只在有大量数据的情况下使用,这些数据很难立即保存在内存中。不,没有具体原因,我只是在教程中看到了它,然后继续介绍,现在我将研究XmlDocument和XDocument,正如您所说的,它更适合这种类型的文档thing@Funky:是的,查看XDocument。这要简单得多,尤其是在处理复杂的XML结构时。