【问题标题】:Apache Digester Exception: Property ... can't be setApache Digester 异常:属性 ... 无法设置
【发布时间】:2013-11-22 08:54:47
【问题描述】:

我在使用 Apache Digester 3.2 时遇到问题,希望您能帮助我:

我必须解析的 XML 包含以下几行(以及更多):

<CountryName
    code = "GFR"
    name = "Germany"
    IsTerritory = "False"
    ProfileURL = "germany.doc"/>

消化器的规则由另一个 XML 文件给出:

   <pattern value="CountryName">
      <object-create-rule classname="model.CodeNamePair"/>
      <set-properties-rule/>
      <set-next-rule methodname="addCountry"/>
   </pattern>

这应该创建一个 CodeNamePair 对象(其中包含一个字符串“代码”和一个字符串“名称”,就像上面的 XML 中一样。
下一个方法“addCountry”(希望)与下面的问题无关:
消化器无法解析这部分。它抛出 NoSuchMethodException 并显示消息:

"java.lang.NoSuchMethodException: Property IsTerritory can't be set"

虽然我不想解析 IsTerritory 属性。 你知道我是否(以及如何)可以忽略这个属性?

现在已经:非常感谢(希望我的问题不要写得太复杂)

【问题讨论】:

  • 是否该目标类有可设置成员IsTerritory
  • 不,它不需要,因为我的意图不需要它。

标签: java apache-commons-digester


【解决方案1】:

试试

<set-properties-rule>
  <ignore attr-name="IsTerritory" />
</set-properties-rule>

而不是

<set-properties-rule/>

(未测试)

【讨论】:

  • 你的意思是:
  • Digester3 3.2 没有定义“忽略”。请问还有什么解决办法吗?
猜你喜欢
  • 2019-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多