gpt4 book ai didi

java - 如何在 Java 中解析 WSDL 中的复杂类型以获取其中的基本元素?

转载 作者:行者123 更新时间:2023-12-01 05:18:01 24 4
gpt4 key购买 nike

我在 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());

}

有什么建议吗?谢谢..

最佳答案

您需要执行以下操作:

Sequence seq = ct.getSequence();

完成后,您可以获取该序列中的元素,就像获取复杂类型本身中的元素一样,即

for(Element el : seq.getElements())
{
//do stuff
}

关于java - 如何在 Java 中解析 WSDL 中的复杂类型以获取其中的基本元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10894092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com