estoy generando una dinámica sitemap.xmlCómo generar el atributo xsi: schemalocation correctamente al generar un sitemap.xml dinámico con LINQ to XML?
Según sitemaps.org esta es la cabecera de un sitemap.xml
<?xml version='1.0' encoding='UTF-8'?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
...
</url>
</urlset>
Así que estoy utilizando LINQ to XML para generar el sitemap.xml
XNamespace ns = "http://www.sitemaps.org/schemas/sitemap/0.9";
return new XElement(ns + "urlset",
new XAttribute("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9"),
new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"),
//new XAttribute("xsi:schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"),
from node in new GetNodes()
select new XElement(ns + "url",
new XElement(ns + "loc", node.Loc),
new XElement(ns + "lastmod", node.LastMod),
new XElement(ns + "priority", node.Priority)
)
).ToString();
La línea comentada es la que no puedo entender bien.
¿Cómo puedo establecer el atributo "xsi: schemalocation"?
Gracias.
Para ser justos, no importa un poco cuál es el identificador del espacio de nombres real. Podría ser "carlosmunoz" para todo lo que importa :) –
Genial, luego usaré "carlosmunoz" –
Hola Carlos, ¿qué devuelve el método 'GetNodes'? Gracias por adelantado. – Ethan