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

Spark读取XML时'转为'、&转为&的原因咨询

问题解答

这是XML解析的标准行为,和com.databricks.spark.xml的解析逻辑直接相关:

  • XML里的实体引用(像&、'这类)本身就是用来表示特殊字符的转义序列,解析器会自动将它们还原成对应的原始字符。
  • '属于两层转义:首先&会被解析成&,剩下的apos;组合成',接着这个序列再被解析成';同理&会先解析成&,最终还原成&。
  • com.databricks.spark.xml底层依赖的XML解析库(通常是Jackson XML或SAX解析器)默认开启了实体解析功能,所以会自动完成这些转义还原操作。

如果想保留原始的实体引用字符串,可以尝试添加解析选项:

var df = spark.read
    .format("com.databricks.spark.xml")
    .option("rootTag", "rootTag")
    .option("rowTag", "rowTag")
    .option("disableEntityResolution", "true") // 禁用实体解析
    .schema(mySchema)
    .load(inputFile)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:30:56