0
我有了这样的节点的图像网站地图:如何创建不带xmnls属性的XML节点,比如“image:image”? C#
<image:image xmlns:image="image">
<image:loc>
https://website
</image:loc>
<image:caption/>
<image:title>logo72x72</image:title>
</image:image>
这是创建它的代码:
XmlNode imageNode = doc.CreateElement("image", "image", "image");
XmlNode imageLocNode = doc.CreateElement("image", "loc", "image");
imageLocNode.AppendChild(doc.CreateTextNode(imageUrl));
imageNode.AppendChild(imageLocNode);
XmlNode imageCaptionNode = doc.CreateElement("image", "caption", "image");
imageCaptionNode.AppendChild(doc.CreateTextNode(imageCaption));
imageNode.AppendChild(imageCaptionNode);
XmlNode imageTitleNode = doc.CreateElement("image", "title", "image");
imageTitleNode.AppendChild(doc.CreateTextNode(imageTitle));
imageNode.AppendChild(imageTitleNode);
urlNode.AppendChild(imageNode);
然而,在谷歌搜索控制台我得到一个错误,因为的图片代码,与Google的文档不符。据谷歌称,图片标签应该看起来像<image:image>
,而不是<image:image xmlns:image="image">
。
我将代码更改为doc.CreateElement("image", "image")
,但将输出更改为<image xmlns:image="image">
(它移除了我想要的部分,并保留了xmnls)。如何防止添加xmlns属性?
编辑:该命名空间在我的文档根宣布:
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
您需要在某处声明适当的命名空间。检查文档,总是有声明并且URL也必须匹配。 –
命名空间在我的文档的根目录中声明: –
你需要传递Uri_的图像而不是字符串图像作为createelement的第三参数 – tolanj