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

如何跳过XML标签内文本的验证?JAXB解析Bugzilla XML报错求助

解决JAXB解析Bugzilla XML时的实体验证问题

我从Bugzilla下载了如下格式的XML:

<bugzilla> 
  <bug> 
    <bug_id>111</bug_id> 
    <short_desc>text 1 & 2</short_desc> 
  </bug> 
  <bug> 
    <bug_id>222</bug_id> 
    <short_desc>text 2 <this is a short desc> </short_desc> 
  </bug> 
</bugzilla>

用JAXB解析这段XML的时候出现了两个报错:

  • 第一个<short_desc>标签里的&没有转义成&amp;,报错信息:The entity name must immediately follow the '&' in the entity reference.
  • 第二个<short_desc>里的text 2 <this is a short desc>这段文本触发了相同的报错,我明明只是带空格的普通文本,并不是缺失闭合标签的非法标签,实在搞不懂为什么会触发验证逻辑。

我使用的解析代码如下:

File file = new File("C:\\test\\file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Bugzilla.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Bugzilla bugzillaReport = (Bugzilla) jaxbUnmarshaller.unmarshal(file);

想请教下怎么解决这个问题,能不能跳过XML标签内文本的验证?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:21:20