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

PowerShell解析含等号URL的XML失败,求解决方法

解决XML解析失败的问题

问题根源

你误以为是URL里的=导致解析失败,实际报错的核心是URL中的&符号未转义。XML规范里,&是特殊字符,必须转义为&,否则解析器会把&当成实体引用的开头,而&file后面没有分号,就会抛出"'=' is an unexpected token. The expected token is ';'"的错误。给URL加引号完全没用,因为XML文本内容的引号不影响特殊字符的解析逻辑。

解决思路

  • 修正XML生成逻辑(推荐)
    在生成XML的系统里,把URL中的所有&替换为&amp;,不需要添加额外引号。修正后的<photo>标签应该是:

    <photo>https://url/?include_plugin=downloader&amp;file=/photos/33.jpg</photo>
    
  • PowerShell预处理(无法修改生成系统时用)
    如果没法改生成XML的系统,可以在PowerShell读取文件后先替换未转义的&,再转换为XML对象:

    # 读取文件内容(-Raw参数确保一次性读取整个文件,避免拆分成数组)
    $content = Get-Content $userfilepath -Raw
    # 替换所有未转义的&为&amp;,避免重复转义已有的实体
    $content = $content -replace '&(?!amp;|lt;|gt;|quot;|apos;)', '&amp;'
    # 转换为XML对象
    [xml]$userfile = $content
    
  • 验证XML合法性
    修改后可以用PowerShell直接尝试转换,或者用本地的XML编辑工具(比如Visual Studio、Notepad++的XML插件)检查XML是否符合规范,确保没有其他未转义的特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:26:16