Мне нужно проанализировать XML-файл, чтобы я всегда находил элемент, очевидно , этот элемент может быть первым дочерним элементом многих других элементов, поэтому нет простого способа его проанализировать.В настоящее время я анализирую его только из этого WSDL.
<portType name="ndfdXMLPortType">
<operation name="NDFDgen">
<documentation>My Documentation... lorem ipsum dolor sit amet</documentation>
<input message="tns:NDFDgenRequest" />
<output message="tns:NDFDgenResponse" />
</operation>
</portType>
Используя этот код
$documentations = $styles = $outputs = array();
if (!empty($array)) {
foreach ($array['portType']['operation'] as $operation) {
$documentations[$operation['@attributes']['name']] = $operation['documentation'];
}
foreach ($array['binding']['operation'] as $key => $operation) {
$styles[$operation['@attributes']['name']] = $operation['operation']['@attributes']['style'];
$outputs[$operation['@attributes']['name']] = $xml->binding->operation[$key]->output->body->asXML();
}
}
Но мне нужно проанализировать его из любого файла WSDL.Например, в другом WSDL это выглядит как.
<xs:sequence>
<xs:element name="BillingPeriod" type="ebl:BillingPeriodType" minOccurs="0" maxOccurs="1">
<xs:annotation>
<xs:documentation> Installment Period.
<br />
<b>Optional</b>
<br />
</xs:documentation>
</xs:annotation>
</xs:element>