很抱歉,如果这是显而易见的,但我正试图为这样的站点地图编写一些xml:
<url>
<loc>http://...</loc>
<priority>0.5</priority>
<image:image>
<image:loc>http://...</image:loc>
</image:image>
</url>
使用以下代码:
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>
但我却得到了这个。
<image xmlns="image">
<image xmlns="loc">http://...</image>
</image>
有人能告诉我我哪里出问题了吗?
编辑:这就成功了
writer.WriteStartElement("image", imagePrefix, null);
发布于 2013-01-24 15:28:05
使用具有三个参数的WriteStartElement
过载http://msdn.microsoft.com/en-us/library/7cdfkth5.aspx
发布于 2013-01-24 15:32:49
您希望在xml元素中添加前缀,这些元素应该指向名称空间。尝尝这个
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()));
}
https://stackoverflow.com/questions/14504678
复制相似问题