从xml中删除不需要的空间

时间:2017-02-08 11:21:35

标签: java xml web-services xsd jaxb

我有一个与.xsd文件相互作用的.wsdl文件根据.xsd文件中定义的结构生成一些包和类

之后,如果我从sopUI中搜索包含不需要空间的webservice请求。 现在我想修剪那个空间,同时解组,我找到了一个解决方案 How to configure JAXB so it trims whitespaces by default

但我想自动生成package-info.java文件 或建议任何解决方案。

1 个答案:

答案 0 :(得分:0)

昨天我遇到了同样的问题。

最佳解决方案是使用

  

@XmlJavaTypeAdapter(CollapsedStringAdapter.class)

。它是一个现有的内置类型适配器,可以帮助您修剪CDATA内容。

例如,让我们拿这个XML

<books>
   <book>
      <name><![CDATA[ <br> Harry Potter </br>
        ]]></name>

   </book>
</books>

为此,您将拥有一个Java类。

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "books")
public class Books {

    @XmlValue
    protected String name;
    ......
}

您必须在包含CDATA部分的变量名称上方添加适配器

@XmlValue
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
protected String name;

然后IDE将要求您导入所需的库文件

import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

多数民众赞成。希望它能帮助你:)。