Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建一个XML节点,例如;图像:图像“;没有xmnls属性?C#_C#_Xml_Image_Nodes - Fatal编程技术网

如何创建一个XML节点,例如;图像:图像“;没有xmnls属性?C#

如何创建一个XML节点,例如;图像:图像“;没有xmnls属性?C#,c#,xml,image,nodes,C#,Xml,Image,Nodes,我有一个图像站点地图,其节点如下: <image:image xmlns:image="image"> <image:loc> https://website </image:loc> <image:caption/> <image:title>logo72x72</image:title> </image:image> 然而,在谷歌搜索控制台中,我得到了一个错误,因为图像标签与谷歌的文

我有一个图像站点地图,其节点如下:

<image:image xmlns:image="image">
  <image:loc>
    https://website
  </image:loc>
  <image:caption/>
  <image:title>logo72x72</image:title>
</image:image>
然而,在谷歌搜索控制台中,我得到了一个错误,因为图像标签与谷歌的文档不匹配。根据谷歌的说法,图像标签应该看起来像
,而不是

我将代码更改为
doc.CreateElement(“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">

您需要为每个元素使用正确的名称空间。名称空间是
http://www.google.com/schemas/sitemap-image/1.1
,而不是
图像

doc.CreateElement("image", "image", "http://www.google.com/schemas/sitemap-image/1.1")`

image
是名称空间前缀,名称空间前缀必须由元素或任何祖先元素中的
xmlns:image=“…”
声明。在您的情况下,它是在文档的根目录中声明的,因此不会再次添加它。

您需要在某个地方声明正确的名称空间。检查文档,总是有一个声明,URL也必须匹配。命名空间在我的文档的根中声明:您需要传递图像的Uri而不是字符串图像作为CreateElement的第三个参数。图像的Uri是什么?
doc.CreateElement("image", "image", "http://www.google.com/schemas/sitemap-image/1.1")`