首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Castor忽略某些XML字段?

如何让Castor忽略某些XML字段?
EN

Stack Overflow用户
提问于 2011-10-18 12:24:25
回答 1查看 1.7K关注 0票数 3

我正在维护一些复杂的Java代码,Castor (v1.2)解封送处理非常慢,因为有相当多的“缺失”Java对象。要知道,XML包含的字段比我所需要的多,但是Castor多次尝试实例化Java对象,导致大量ClassNotFound错误。

Castor映射文件:

代码语言:javascript
复制
<mapping>
  <class name="com.example.imaging.product.Product">
    <map-to xml="product"/>
    <field name="productId" type="long">
      <bind-xml name="id" node="attribute"/>
    </field>
  </class>

  <class name="com.example.imaging.product.RegionConfiguration">
    <map-to xml="mediaConfiguration"/>
    <field name="name" type="string">
      <bind-xml name="name" node="attribute"/>
    </field>
    <field name="design" type="int">
      <bind-xml name="designId" node="attribute"/>
    </field>
  </class>
</mapping>

资料来源:

代码语言:javascript
复制
<?xml version="1.0"?>
<product id="1234">
  <productImage colorId="1"/>
  <mediaConfiguration name="Front" designId="98765" />
  <color id="1" name="Red" default="true"/>
</product>

我的问题是,color字段没有类似的Java,我不希望它被解除封送。我尝试在org.exolab.castor.xml.strictelements=false文件中设置castor.properties,但这并不能阻止它遍历类加载路径并抛出ClassNotFound错误。

如何让Castor跳过不需要的XML元素?

EN

回答 1

Stack Overflow用户

发布于 2012-04-04 18:48:26

听起来,您无法覆盖试图解组每个元素的行为,请参阅Castor参考文献。你有没有衡量过真正的性能影响是什么?在Castor开发出更好的覆盖行为之前,最好忽略这一点。

如果未在映射文件中描述该类,Castor将使用对该类进行实例检查,以确定表单getXxxYyy()/setXxxYyy( x)是否有任何函数。这个访问器将与名为'xxx-yyy‘的XML元素/属性相关联。将来,我们将提供一种方法来覆盖此默认行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7807153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档