How can I use ':' character in a name of X

2019-06-17 01:21发布

问题:

I'm using XDocument to create a RSS same below code:

var document = new XDocument(
    new XDeclaration("1.0", "utf-8", null),
    new XElement("rss",
                 new XElement("channel",
                              new XElement("title", "test"),
                              new XElement("dc:creator", "test"),

An exception occurring during the execution of this code.

The ':' character, hexadecimal value 0x3A, cannot be included in a name.

How can I use : character in a name of element?

回答1:

To use namespaces, you'll need to create the namespace object first:

UPDATED

XNamespace ns = "http://purl.org/dc/elements/1.1/";
var document = new XDocument(
            new XDeclaration("1.0", "utf-8", null),
            new XElement("rss", new XAttribute(XNamespace.Xmlns + "dc", ns)
                         new XElement("channel",
                                      new XElement("title", "test"),
                                      new XElement(ns + "creator", "test"),
            ....