如何使用 XDocument 类并将其属性名称设置为接受冒号字符?我收到此错误
"The ':' character, hexadecimal value 0x3A, cannot be included in a name."
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 类得到以下 header 输出。
<?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")))
关于.net - 在 XML 属性上使用冒号字符时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6093387/