Как мне использовать класс XDocument и установить его имя атрибута для приема символа двоеточия? Я получаю эту ошибку
"Символ ':', шестнадцатеричное значение 0x3A, нельзя включить в имя."
Dim ns As XNamespace = "http://www.sitemaps.org/schemas/sitemap/0.9" Dim xi As XNamespace = "http://www.w3.org/2001/XMLSchema-instance" Dim sitemapValue As New XDocument(New XDeclaration("1.0", "utf-8", ""), New XElement("urlset", New XAttribute("xmls", ns), New XAttribute("xmls:xi", xi)))
Я просто хочу следующий вывод заголовка ниже с использованием класса XDocument.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 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">
Попробуйте (с VS 2010, в противном случае вам нужно добавить символы продолжения строки)
Dim ns As XNamespace = "http://www.sitemaps.org/schemas/sitemap/0.9" Dim xi As XNamespace = "http://www.w3.org/2001/XMLSchema-instance" Dim doc As XDocument = New XDocument( New XElement(ns + "urlset", New XAttribute(XNamespace.Xmlns + "xsi", xi), New XAttribute(xi + "schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd")))
Dim ns As XNamespace = "http://www.sitemaps.org/schemas/sitemap/0.9" Dim xi As XNamespace = "http://www.w3.org/2001/XMLSchema-instance" Dim sitemapValue As New XDocument(New XDeclaration("1.0", "utf-8", ""), New XElement("urlset", New XAttribute("xmls", ns), _ New XAttribute(XNamespace.Xmlns + "xi", xi), New XAttribute(xi + "schemaLocation", "http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd")))
Выходы:
<urlset xmls="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xi="http://www.w3.org/2001/XMLSchema-instance" xi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" />
Дайте мне знать, если это то, что вы просили.