在用java解析perl所提交的xml
perl调用其中抽取比较复杂的代码参数:* Attachment => [
{
Content => $Content,
ContentType => $ContentType,
Filename => 'lala.txt',
},
{
Content => $Content,
ContentType => $ContentType,
Filename => 'lala1.txt',
},
],
针对上面特殊参数用java解析成xml提交的代码如下:
Filename,ContentType,Content分别为传入的上传附件的参数;Content为附件转换成base64Binary种字符串;
当对象为多个时需要调整xsd:anyType的数量;
dispatch.addChildElement("Param19_Name").addTextNode("Attachment").setAttribute("xsi:type","xsd:string");
SOAPElement e = dispatch.addChildElement("Array", "enc");
e.setAttribute("enc:arrayType", "xsd:anyType");
e.setAttribute("xsi:type", "xsd:Array");
SOAPElement obj = e.addChildElement("item");
e.addChildElement(obj);
obj.addChildElement("Filename").addTextNode(Filename).setAttribute("xsi:type","xsd:string");
obj.addChildElement("ContentType").addTextNode(ContentType).setAttribute("xsi:type","xsd:string");
obj.addChildElement("Content").addTextNode(Content).setAttribute("xsi:type","xsd:base64Binary");
e.addChildElement(obj);
页:
[1]