Có cùng vấn đề nhưng không có câu trả lời nào thực sự giải quyết được câu hỏi.
Tôi đang cố gắng truy vấn các nút Thao tác INSIDE nút portType Node của WSDL, cho rằng nút liên kết cũng có các thao tác.
<portType name="MyService">
<operation name="op1">
<input wsam:Action="http://somedomain.org/MyService/MyServiceRequest" message="tns:MyServiceRequest"/>
<output wsam:Action="http://somedomain.org/MyService/MyServiceResponse" message="tns:MyServiceResponse"/>
</operation>
...
</portType>
<binding name="MyServicePortBinding" type="tns:MyService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="op1">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
Giải quyết bằng cách tìm cha mẹ (portTypes) và chỉ truyền từ nút này sang phần tử khác và sử dụng phương pháp có tên ở trên.
Node portType = document.getElementsByTagName("portType").item(0);
NodeList operations = ((Element)portType).getElementsByTagName("operation");
Điều này đã cho tôi kết quả là các thành phần hoạt động chỉ INSIDE portType Node.
Nguồn
2016-05-04 16:26:25
Đó là getElement ** s ** ByTagName. – stefanw
Cảm ơn bạn đã chỉ ra nó – Fazal
Tôi e là không đúng - phương thức này trả về các phần tử con cháu, ví dụ 'getElementsByTagName (" name ")' được thực hiện trên phần tử 'Element' đại diện cho người sẽ trả về 2 nút. –