在其中一个标记中包含XML的java对象的解组转换为“to”

时间:2012-07-10 15:45:22

标签: xml jaxb unmarshalling

我解组了一个XML来创建一个java对象。

XML -

<RibMessages
  xmlns="http://www.oracle.com/retail/integration/rib/RibMessages"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.oracle.com/retail/integration/rib/RibMessages http://kvm-oel-55-64-4:7780/rib-func-artifact/integration/xsd/RibMessages.xsd" >
  <ribMessage>
    <family>Items</family>
    <type>ItemCre</type>
    <id>100007066</id>
    <ribmessageID>ItemsToItmHYB_tafr_1|2012.07.10 18:45:58.874|143</ribmessageID>
    <routingInfo>
      <name>tran_level_ind</name>
      <value>Y</value>
    </routingInfo>
    <publishTime>2012-07-10 18:45:58.886 GMT+05:30</publishTime>
  <messageData>&lt;ItemDesc xmlns=&quot;http://www.oracle.com/retail/integration/base/bo/ItemDesc/v1&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;&gt;&lt;ns1:ItemHdrDesc xmlns:ns1=&quot;http://www.oracle.com/retail/integration/base/bo/ItemHdrDesc/v1&quot; &gt;&lt;ns1:item&gt;100007066&lt;/ns1:item&gt;&lt;ns1:item_number_type&gt;ITEM&lt;/ns1:item_number_type&gt;&lt;ns1:pack_ind&gt;N&lt;/ns1:pack_ind&gt;&lt;ns1:item_level&gt;1&lt;/ns1:item_level&gt;&lt;ns1:tran_level&gt;1&lt;/ns1:tran_level&gt;&lt;ns1:dept&gt;2102&lt;/ns1:dept&gt;&lt;ns1:dept_name&gt;Men&amp;apos;s Classics&lt;/ns1:dept_name&gt;&lt;ns1:class&gt;2&lt;/ns1:class&gt;&lt;ns1:class_name&gt;Bottoms&lt;/ns1:class_name&gt;&lt;ns1:subclass&gt;2&lt;/ns1:subclass&gt;&lt;ns1:sub_name&gt;Casual Trousers&lt;/ns1:sub_name&gt;&lt;ns1:status&gt;A&lt;/ns1:status&gt;&lt;ns1:item_desc&gt;Test&lt;/ns1:item_desc&gt;&lt;ns1:short_desc&gt;Test&lt;/ns1:short_desc&gt;&lt;ns1:desc_up&gt;TEST&lt;/ns1:desc_up&gt;&lt;ns1:primary_ref_item_ind&gt;N&lt;/ns1:primary_ref_item_ind&gt;&lt;ns1:retail_zone_group_id&gt;1&lt;/ns1:retail_zone_group_id&gt;&lt;ns1:cost_zone_group_id&gt;1000&lt;/ns1:cost_zone_group_id&gt;&lt;ns1:standard_uom&gt;EA&lt;/ns1:standard_uom&gt;&lt;ns1:merchandise_ind&gt;Y&lt;/ns1:merchandise_ind&gt;&lt;ns1:store_ord_mult&gt;E&lt;/ns1:store_ord_mult&gt;&lt;ns1:forecast_ind&gt;N&lt;/ns1:forecast_ind&gt;&lt;ns1:catch_weight_ind&gt;N&lt;/ns1:catch_weight_ind&gt;&lt;ns1:const_dimen_ind&gt;N&lt;/ns1:const_dimen_ind&gt;&lt;ns1:simple_pack_ind&gt;N&lt;/ns1:simple_pack_ind&gt;&lt;ns1:contains_inner_ind&gt;N&lt;/ns1:contains_inner_ind&gt;&lt;ns1:sellable_ind&gt;Y&lt;/ns1:sellable_ind&gt;&lt;ns1:orderable_ind&gt;Y&lt;/ns1:orderable_ind&gt;&lt;ns1:unit_retail&gt;83.33&lt;/ns1:unit_retail&gt;&lt;ns1:gift_wrap_ind&gt;N&lt;/ns1:gift_wrap_ind&gt;&lt;ns1:ship_alone_ind&gt;N&lt;/ns1:ship_alone_ind&gt;&lt;ns1:perishable_ind&gt;N&lt;/ns1:perishable_ind&gt;&lt;ns1:item_xform_ind&gt;N&lt;/ns1:item_xform_ind&gt;&lt;ns1:inventory_ind&gt;Y&lt;/ns1:inventory_ind&gt;&lt;ns1:notional_pack_ind&gt;N&lt;/ns1:notional_pack_ind&gt;&lt;ns1:soh_inquiry_at_pack_ind&gt;N&lt;/ns1:soh_inquiry_at_pack_ind&gt;&lt;ns1:purchase_type&gt;N&lt;/ns1:purchase_type&gt;&lt;/ns1:ItemHdrDesc&gt;&lt;ns2:ItemSupDesc xmlns:ns2=&quot;http://www.oracle.com/retail/integration/base/bo/ItemSupDesc/v1&quot; &gt;&lt;ns2:item&gt;100007066&lt;/ns2:item&gt;&lt;ns2:supplier&gt;2400&lt;/ns2:supplier&gt;&lt;ns2:primary_supp_ind&gt;Y&lt;/ns2:primary_supp_ind&gt;&lt;ns2:pallet_name&gt;PAL&lt;/ns2:pallet_name&gt;&lt;ns2:case_name&gt;CS&lt;/ns2:case_name&gt;&lt;ns2:inner_name&gt;INR&lt;/ns2:inner_name&gt;&lt;ns2:direct_ship_ind&gt;N&lt;/ns2:direct_ship_ind&gt;&lt;/ns2:ItemSupDesc&gt;&lt;ns3:ItemSupCtyDesc xmlns:ns3=&quot;http://www.oracle.com/retail/integration/base/bo/ItemSupCtyDesc/v1&quot; &gt;&lt;ns3:item&gt;100007066&lt;/ns3:item&gt;&lt;ns3:supplier&gt;2400&lt;/ns3:supplier&gt;&lt;ns3:origin_country_id&gt;US&lt;/ns3:origin_country_id&gt;&lt;ns3:primary_supp_ind&gt;Y&lt;/ns3:primary_supp_ind&gt;&lt;ns3:primary_country_ind&gt;Y&lt;/ns3:primary_country_ind&gt;&lt;ns3:unit_cost&gt;25&lt;/ns3:unit_cost&gt;&lt;ns3:supp_pack_size&gt;1&lt;/ns3:supp_pack_size&gt;&lt;ns3:inner_pack_size&gt;1&lt;/ns3:inner_pack_size&gt;&lt;ns3:round_lvl&gt;C&lt;/ns3:round_lvl&gt;&lt;ns3:packing_method&gt;HANG&lt;/ns3:packing_method&gt;&lt;ns3:default_uop&gt;EA&lt;/ns3:default_uop&gt;&lt;ns3:ti&gt;1&lt;/ns3:ti&gt;&lt;ns3:hi&gt;1&lt;/ns3:hi&gt;&lt;ns3:cost_uom&gt;EA&lt;/ns3:cost_uom&gt;&lt;/ns3:ItemSupCtyDesc&gt;&lt;ns4:ItemSupCtyMfrDesc xmlns:ns4=&quot;http://www.oracle.com/retail/integration/base/bo/ItemSupCtyMfrDesc/v1&quot; &gt;&lt;ns4:item&gt;100007066&lt;/ns4:item&gt;&lt;ns4:supplier&gt;2400&lt;/ns4:supplier&gt;&lt;ns4:manufacturer_ctry_id&gt;US&lt;/ns4:manufacturer_ctry_id&gt;&lt;ns4:primary_manufacturer_ctry_ind&gt;Y&lt;/ns4:primary_manufacturer_ctry_ind&gt;&lt;/ns4:ItemSupCtyMfrDesc&gt;&lt;/ItemDesc&gt;</messageData>
    <customData></customData>
    <customFlag>F</customFlag>
  </ribMessage>
</RibMessages>

我的代码:

final ByteArrayInputStream ribMessagesString = new ByteArrayInputStream(xmlString.getBytes());
JAXBContext jaxbContext = JAXBContext.newInstance(RibMessages.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
final RibMessages ribMessages = (RibMessages) jaxbUnmarshaller.unmarshal(ribMessagesString);

这很好用,但是这样创建的对象之一包含一个String(messageData),它又是XML内容,它包含转义字符。消息XML需要再次解析。任何建议我们如何避免这种字符编码,所以,我想在消息数据中看到“not&amp; quot。”

由于

0 个答案:

没有答案