【问题标题】:JIBX binding loose xml structureJIBX 绑定松散的 xml 结构
【发布时间】:2013-11-02 00:03:04
【问题描述】:

我正在使用 org.jibx.runtime.impl.UnmarshallingContext.unmarshalDocument(java.io.Reader rdr) 类来解组我的 xml。

这是我的有效绑定地图。

<?xml version="1.0" encoding="UTF-8"?>

  <binding xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <mapping name="md" class="com.mycompany.metadata.JiBXMetadata" ordered="false">
          <value name="alice" field="aliceStr" style="element" usage="optional"/>
          <value name="bob" field="bobStr" style="element" usage="optional"/>
          <value name="carol" field="carolStr" style="element" usage="optional"/>
      </mapping>
  </binding>

因此,如果 xml 以任意顺序包含 alice、bob 或 carol 中的任何一个节点,它就可以正常工作。如果 xml 中缺少任何节点,它仍然可以正常工作。但是如果 xml 中有一个额外的节点(比如 steve),那么我会得到一个 JiBXException。

有没有办法让解组器忽略任何不在绑定映射中的节点?

【问题讨论】:

    标签: java xml data-binding unmarshalling jibx


    【解决方案1】:

    添加灵活选项可能会有所帮助。您可以尝试为您的映射添加灵活的属性,如下所示?

    <binding xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <mapping name="md" class="com.mycompany.metadata.JiBXMetadata" ordered="false">
          <value name="alice" field="aliceStr" style="element" usage="optional" flexible="true"/>
          <value name="bob" field="bobStr" style="element" usage="optional" flexible="true"/>
          <value name="carol" field="carolStr" style="element" usage="optional" flexible="true"/>
      </mapping>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-16
      • 1970-01-01
      • 2019-05-07
      • 2017-04-18
      • 1970-01-01
      • 2011-01-19
      相关资源
      最近更新 更多