@bioforge
Верстающий пыхер

Как сделать парсер soap xml?

Имеется xml файл с примерным содержимым
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body>
        <m:GetGroupResponse xmlns:m="http://www.test.ru">
            <m:return xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
				<Schedule>
					<Name Name="fret">
						<Groups>
							<Group>
								<Id>0</Id>
								<Name>Name 1</Name>
								<Code>C1</Code>
							</Group>
							<Group>
								<Id>1</Id>
								<Name>Name 2</Name>
								<Code>C2</Code>
							</Group>
						</Groups>
					</Name>
				</Schedule>
				<Schedule>
					<Name Name="fret">
						<Groups>
							<Group>
								<Id>0</Id>
								<Name>Name 1</Name>
								<Code>C1</Code>
							</Group>
							<Group>
								<Id>1</Id>
								<Name>Name 2</Name>
								<Code>C2</Code>
							</Group>
						</Groups>
					</Name>
				</Schedule>
			</m:return>
        </m:GetGroupResponse>
    </soap:Body>
</soap:Envelope>


Мне нужно получить массив из элементов Group, но никак не могу до них добраться.
Подскажите как это сделать ?
  • Вопрос задан
  • 2331 просмотр
Решения вопроса 1
w999d
@w999d
Web-developer
1. необходимо зарегистрировать неймспейсы. в данном случае m и soap
php.net/manual/ru/simplexmlelement.registerxpathna...
2. если этого не требует тз, можно опустить промежуточные элементы с неймспейсами, используя поиск через xpath - просто найдя все вхождения Group.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@KIN1991
Python, PHP developer
По мне делать API на PHP это изврат... На python куча библиотек есть на эту тему... советую использовать https://github.com/pavlov99/json-rpc + tornado
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы