我在 WSDL4J、JDOM 和 Castor 库的帮助下解析了 wsdl 文件。现在,我可以获得复杂类型,但仍然无法访问其序列中的元素。
<xs:element name="AddInstanceGroupsResult">
<xs:complexType>
<xs:annotation>
<xs:documentation><![CDATA[
<p>Output from an AddInstanceGroups call.</p>
]]></xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="JobFlowId" type="tns:XmlStringMaxLen256" minOccurs="0">
<xs:annotation>
<xs:documentation><![CDATA[
<p>The job flow ID in which the instance groups are added.</p>
]]></xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="InstanceGroupIds" type="tns:InstanceGroupIdsList" minOccurs="0">
<xs:annotation>
<xs:documentation><![CDATA[
<p>Instance group IDs of the newly created instance groups.</p>
]]></xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
例如,我可以将 AddInstanceGroupsResult 作为一个复杂类型,但我无法获取其中的基本元素(JobFlowId 和 InstanceGroupIds)..
case Structure.MODELGROUP:
Group modelGroup = (Group)ct;
ContentModelGroup contentModel = modelGroup.getContentModelGroup();
int count = contentModel.getParticleCount();
for (int n=0; n< count; n++){
ElementDecl elementDecl2 = (ElementDecl)contentModel.getParticle(n);
result.add(elementDecl2.getName());
resultLong.add(parseParameterName(elementDecl2.getName()));
resultType.add(elementDecl2.getType().getName());
}
有什么建议么?谢谢..