IBM Integration Bus 未在 JavaCompute 节点中生成 xml 属性
IBM Integration Bus not generating xml attribute in JavaCompute node
我正在按照 IBM Knowledge Center 中的说明在 JavaCompute 节点中创建一个新的 XML 文档。问题是输出与文档完全不同
我的密码是
MbElement itemMaintance = body.createElementAsLastChild(MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement item = itemMaintance.createElementAsLastChild(MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement action = item.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Action", "ACTION");
MbElement serialNumberFlag = item.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "serialNumberFlag", "0123456789");
输出为
<ItemMaintance>
<Item>
<Action>ACTION</Action>
<SerialNumberFlag>0123456789</SerialNumberFlag>
</Item>
</ItemMaintance>
应该是
<ItemMaintance>
<Item Action="ACTION" SerialNumberFlag="0123456789"/>
</ItemMaintance>
我错过了什么?
您应该使用 MbXMLNSC
而不是 MbElement
作为 XML 属性的元素类型:
MbElement root = outMessage.getRootElement();
MbElement body = root.createElementAsLastChild( MbXMLNSC.PARSER_NAME);
MbElement itemMaintance = body.createElementAsLastChild( MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement item = itemMaintance.createElementAsLastChild( MbElement.TYPE_NAME, "Item", null);
MbElement action = item.createElementAsLastChild( MbXMLNSC.ATTRIBUTE, "Action", "ACTION");
MbElement serialNumberFlag = item.createElementAsLastChild( MbXMLNSC.ATTRIBUTE, "serialNumberFlag", "0123456789");
此页面说明了如何操作:https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac67180_.htm
我正在按照 IBM Knowledge Center 中的说明在 JavaCompute 节点中创建一个新的 XML 文档。问题是输出与文档完全不同
我的密码是
MbElement itemMaintance = body.createElementAsLastChild(MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement item = itemMaintance.createElementAsLastChild(MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement action = item.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "Action", "ACTION");
MbElement serialNumberFlag = item.createElementAsLastChild(MbElement.TYPE_NAME_VALUE, "serialNumberFlag", "0123456789");
输出为
<ItemMaintance>
<Item>
<Action>ACTION</Action>
<SerialNumberFlag>0123456789</SerialNumberFlag>
</Item>
</ItemMaintance>
应该是
<ItemMaintance>
<Item Action="ACTION" SerialNumberFlag="0123456789"/>
</ItemMaintance>
我错过了什么?
您应该使用 MbXMLNSC
而不是 MbElement
作为 XML 属性的元素类型:
MbElement root = outMessage.getRootElement();
MbElement body = root.createElementAsLastChild( MbXMLNSC.PARSER_NAME);
MbElement itemMaintance = body.createElementAsLastChild( MbElement.TYPE_NAME, "ItemMaintance", null);
MbElement item = itemMaintance.createElementAsLastChild( MbElement.TYPE_NAME, "Item", null);
MbElement action = item.createElementAsLastChild( MbXMLNSC.ATTRIBUTE, "Action", "ACTION");
MbElement serialNumberFlag = item.createElementAsLastChild( MbXMLNSC.ATTRIBUTE, "serialNumberFlag", "0123456789");
此页面说明了如何操作:https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac67180_.htm