首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XmlWriter <image:image>

XmlWriter <image:image>
EN

Stack Overflow用户
提问于 2013-01-24 15:17:30
回答 2查看 1.3K关注 0票数 3

很抱歉,如果这是显而易见的,但我正试图为这样的站点地图编写一些xml:

代码语言:javascript
运行
复制
<url>
    <loc>http://...</loc>
    <priority>0.5</priority>
    <image:image>
      <image:loc>http://...</image:loc>
     </image:image>
</url>

使用以下代码:

代码语言:javascript
运行
复制
    const string locationPrefix = "loc";
    const string imagePrefix = "image";
    writer.WriteStartElement("image", imagePrefix);
    writer.WriteStartElement("image", locationPrefix);
    writer.WriteValue(imageUrl);
    writer.WriteEndElement(); // </image:loc>
    writer.WriteEndElement(); // </image:image>

但我却得到了这个。

代码语言:javascript
运行
复制
<image xmlns="image">
   <image xmlns="loc">http://...</image>
 </image>

有人能告诉我我哪里出问题了吗?

编辑:这就成功了

代码语言:javascript
运行
复制
writer.WriteStartElement("image", imagePrefix, null);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-24 15:28:05

使用具有三个参数的WriteStartElement过载http://msdn.microsoft.com/en-us/library/7cdfkth5.aspx

  1. 前缀:元素的命名空间前缀。
  2. localName :元素的本地名称。
  3. ns :要与元素关联的命名空间URI。
票数 2
EN

Stack Overflow用户

发布于 2013-01-24 15:32:49

您希望在xml元素中添加前缀,这些元素应该指向名称空间。尝尝这个

代码语言:javascript
运行
复制
using(var ms = new MemoryStream())
using (var writer = XmlWriter.Create(ms))
{
    const string imagePrefix = "img";
    writer.WriteStartElement(imagePrefix, "image", "http://image.com");
    writer.WriteStartElement(imagePrefix, "local", "http://image.com");
    writer.Flush();
    writer.Close();
    Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14504678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档