gpt4 book ai didi

java - JAXB Moxy 混合空格丢失

转载 作者:数据小太阳 更新时间:2023-10-29 02:12:13 28 4
gpt4 key购买 nike

我在解码包含混合内容的 XML 时遇到问题。空间丢失。 XML 如下所示:

<text>rooms in <g>the</g> <g>Eldorado Hotel</g> on Broadway have a jacuzzi</text>

这被解码为:

  • “房间在”(最后一个空格)
  • 一个值为“the”的对象
  • 一个值为“Eldorado Hotel”的对象
  • “在百老汇有一个按摩浴缸”(有一个初始空间)

一切正常,但我缺少两个标签之间的空格。我需要保留那个空间!

简化的映射类似于:

@XmlTransient
public abstract class AbstractText {

private List words;

@XmlMixed
@XmlElementRefs({
@XmlElementRef(type = WordGroup.class, required = false), // this is the <g> tag
@XmlElementRef(type = Word.class, required = false)
})
public List getWords() {
if (words == null) words = new ArrayList();
return words;
}

public void setWords(List words) {
this.words = words;
}

}

@XmlRoot
public class Text extends AbstractText{

}

映射并不是完全像这样完成的,而是在一个 XML 文件中(从 AbstractText 继承的每个类可以有不同的子级。

真正的映射是:

<java-type name="dp.dc.exercise.model.Text">
<java-attributes>
<xml-element-refs java-attribute="words" xml-mixed="true">
<xml-element-ref type="dp.dc.exercise.model.text.Word" required="false"/>
<xml-element-ref type="dp.dc.exercise.model.text.WordGroup" required="false"/>
</xml-element-refs>
</java-attributes>
</java-type>

在任何情况下都很好用,但当有 2 个标签时,一个接一个。

任何帮助将不胜感激:)

最佳答案

这似乎是一个错误,我已经输入了您可以跟踪的以下问题:

关于java - JAXB Moxy 混合空格丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27246939/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com