Как проанализировать ответ soap-клиента в php

#xml #soap

#xml #soap

Вопрос:

Я получил следующий ответ от API.Я пытаюсь проанализировать его, но не добился никакого успеха. Я пробовал другой способ, но не смог этого сделать. Пожалуйста, помогите мне в этом.

 <?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CheckPriceBulkResponse xmlns="http://eKeystone.com">
<CheckPriceBulkResult>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
<xs:complexType><xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="CheckPriceBulk">
<xs:complexType><xs:sequence>
<xs:element name="Vendor" type="xs:string" minOccurs="0" />
<xs:element name="PartNumber" type="xs:string" minOccurs="0" />
<xs:element name="CustomerPrice" type="xs:string" minOccurs="0" />
<xs:element name="Currency" type="xs:string" minOccurs="0" /></xs:sequence></xs:complexType></xs:element></xs:choice></xs:complexType></xs:element></xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<NewDataSet xmlns="">
<CheckPriceBulk diffgr:id="CheckPriceBulk1" msdata:rowOrder="0" diffgr:hasChanges="inserted">
<Vendor>A13</Vendor>
<PartNumber>10980
</PartNumber>
<CustomerPrice>93.94</CustomerPrice>
<Currency>usd</Currency>
</CheckPriceBulk>
</NewDataSet>
</diffgr:diffgram>
</CheckPriceBulkResult>
</CheckPriceBulkResponse>
</soap:Body>
</soap:Envelope>
  

Комментарии:

1. Stack overflow — это не ваше личное сообщество разработчиков, пожалуйста, предоставьте свой код и опишите, что с ним не так, чтобы получить помощь.

2. Пожалуйста, помогите мне прочитать такие данные, как номер партнера, CustomerPrice из этого XML-ответа.

3. Можете ли вы использовать xpath?

4. Я могу использовать xpath для чтения данных.

Ответ №1:

Вы действительно не прояснили свой вопрос, но, если я вас правильно понял, следующие выражения xpath

 //PartNumber/text()
  

и

   //CustomerPrice/text()
  

должен выводить
10980 и 93.94 , соответственно.