java - 如何解析 WSDL 文件以提取特定节点的内容

标签 java xml parsing wsdl wsdl2java

这是我的 wsdl 文件的一部分:

<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
- <s:element name="BinaryConversion">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="Binary" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="BinaryConversionResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="BinaryConversionResult" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="Qos">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="Availabilty_10" type="s:int" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="QosResponse">
  <s:complexType /> 
  </s:element>
- <s:element name="GetQosParameters">
  <s:complexType /> 
  </s:element>
- <s:element name="GetQosParametersResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="GetQosParametersResult" type="tns:QoSParameters" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:complexType name="QoSParameters">
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="Availability" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="Accuracy" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="Accessibility" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="Latency" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="Reliability" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:schema>
  </wsdl:types>

现在我想提取名称可用性、准确性、延迟等。我该怎么做。 我使用 Document Builder 进行解析,但只能提取 wsdl:operations 而不能提取 wsdl:types

最佳答案

这是一个很好的 Java/XML 教程(众多教程之一):

向下滚动到他谈论的部分XPath 。这是获取子节点(例如“QoSParameters”)及其中的所有内容(例如“可用性”、“准确性”等)所需的语法。

关于java - 如何解析 WSDL 文件以提取特定节点的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15102526/

相关文章:

xml - 我不想解析 XML 中的某些标签

java - Jsoup 设置接受语言

java - 使用java选择器唯一标识客户端

xml - 如何使用 xquery 从 xml 文件中读取 namespace

java - 声明一个bean的范围

javascript - xml dom解析

c# - 从 Python pretty-print C#

java - 将文本换行到文本框中

java ;在框架可见之前获取插图

java - Maven - 如何管理具有共同依赖项的多个 jar