You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将XmlDocument对象作为URI传入仅接受URI的构造方法?

不保存本地文件,将XmlDocument转为可用于Uri的数据源

你可以通过Data URI方案直接将XmlDocument的内容转换为Uri,无需保存到本地文件,具体实现步骤如下:

方法一:Base64编码(推荐用于较长XML内容)

// 1. 将XmlDocument转为XML字符串
string xmlContent = xmlDocument.OuterXml;

// 2. 将XML字符串编码为Base64
byte[] xmlBytes = Encoding.UTF8.GetBytes(xmlContent);
string base64Xml = Convert.ToBase64String(xmlBytes);

// 3. 构造Data URI并赋值
MapShapeReader.Source = new Uri($"data:text/xml;base64,{base64Xml}");

方法二:直接URI编码(适合短XML内容)

// 1. 将XmlDocument转为XML字符串
string xmlContent = xmlDocument.OuterXml;

// 2. 对XML字符串进行URI转义
string encodedXml = Uri.EscapeDataString(xmlContent);

// 3. 构造Data URI并赋值
MapShapeReader.Source = new Uri($"data:text/xml;charset=utf-8,{encodedXml}");

说明

  • Data URI允许直接将数据嵌入到Uri中,无需依赖外部文件
  • Base64编码方式可以避免XML特殊字符的转义问题,更稳定
  • 两种方式都不需要将XML保存到本地磁盘,直接在内存中完成转换

内容的提问来源于stack exchange,提问作者OrLevi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 21:30:50