Код: Выделить всё
function soapXmlToJson($soapXml) {
libxml_use_internal_errors(true);
// Load XML with namespace awareness
$xml = simplexml_load_string($soapXml, "SimpleXMLElement", LIBXML_NOCDATA);
if($xml === false) {
$errors = libxml_get_errors();
libxml_clear_errors();
echo("XML Parsing Error: " . print_r($errors, true));
return ['json' => null, 'array' => null];
}
// Convert XML to an array while stripping namespaces
$array = json_decode(json_encode($xml), true);
// Convert to JSON
$json = json_encode($array);
echo("soapXml=$soapXml");
echo("json=$json");
echo("array=".print_r($array, true));
return ['json' => $json, 'array' => $array];
}
< /code>
Эта функция отлично работает для простого XML, например: < /p>
ToveJaniReminderDo not forget me this weekend!Но когда я кормлю его такой большой XML, он не работает. Переменная $ xml от simplexml_load_string всегда возвращает "" (пустая строка). Вот большая полезная нагрузка XML: < / p > < b r / > < c o d e > & l t ; s : E n v e l o p e x m l n s : s = & q u o t ; h t t p : / / s c h e m a s . x m l s o a p . o r g / s o a p / e n v e l o p e / & q u o t ; & g t ; < b r / > & l t ; s : B o d y & g t ; < b r / > & l t ; B o o k x m l n s = & q u o t ; h t t p : / / g r o u n d x c h a n g e . c o m / G X C o r e / v 1 / & q u o t ; & g t ; < b r / > & l t ; i n p u t x m l n s : a = & q u o t ; h t t p : / / g r o u n d x c h a n g e . c o m / G X C o r e / v 1 / G X O b j e c t s & q u o t ; < b r / > x m l n s : i = & q u o t ; h t t p : / / w w w . w 3 . o r g / 2 0 0 1 / X M L S c h e m a - i n s t a n c e & q u o t ; & g t ; < b r / > & l t ; a : C r e d e n t i a l s & g t ; < b r / > & l t ; a : A u t h I d & g t ; p r e p r o d - l a - d e v 1 & l t ; / a : A u t h I d & g t ; < b r / > & l t ; a : A u t h P a s s w o r d & g t ; x o g f e b - x i q p i 1 - j a n N y g & l t ; / a : A u t h P a s s w o r d & g t ; < b r / > & l t ; / a : C r e d e n t i a l s & g t ; < b r / > & l t ; a : H e a d e r & g t ; < b r / > & l t ; a : C h a n n e l T y p e & g t ; A f f i l i a t e T o A f f i l i a t e & l t ; / a : C h a n n e l T y p e & g t ; < b r / > & l t ; a : E x t e r n a l N e t w o r k I d i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : E x t e r n a l N e t w o r k R e s N u m b e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : G X R e s e r v a t i o n M s g G r o u p I d & g t ; U D 9 7 6 1 5 6 2 2 8 & l t ; / a : G X R e s e r v a t i o n M s g G r o u p I d & g t ; < b r / > & l t ; a : G X T r a n s a c t i o n I d & g t ; 1 8 5 4 3 2 & l t ; / a : G X T r a n s a c t i o n I d & g t ; < b r / > & l t ; a : R e c e i v e r P a r t c i p a n t C o d e & g t ; U S . A L . L A . D E V 1 & l t ; / a : R e c e i v e r P a r t c i p a n t C o d e & g t ; < b r / > & l t ; a : R e c e i v e r R e s N u m b e r / & g t ; < b r / > & l t ; a : S e n d e r P a r t i c i p a n t C o d e & g t ; P R E P R O D - S C - 1 & l t ; / a : S e n d e r P a r t i c i p a n t C o d e & g t ; < b r / > & l t ; a : S e n d e r R e s N u m b e r & g t ; 7 7 1 6 6 * 2 & l t ; / a : S e n d e r R e s N u m b e r & g t ; < b r / > & l t ; / a : H e a d e r & g t ; < b r / > & l t ; a : M e s s a g e & g t ; < b r / > & l t ; a : A d d i t i o n a l D a t a & g t ; < b r / > & l t ; a : N a m e V a l u e P a i r & g t ; < b r / > & l t ; a : F i e l d N a m e & g t ; V I P C O D E & l t ; / a : F i e l d N a m e & g t ; < b r / > & l t ; a : V a l u e & g t ; V I P _ 2 & l t ; / a : V a l u e & g t ; < b r / > & l t ; / a : N a m e V a l u e P a i r & g t ; < b r / > & l t ; / a : A d d i t i o n a l D a t a & g t ; < b r / > & l t ; a : A l l o w e d B o o k i n g U p d a t e A c t i o n T y p e s x m l n s : b = & q u o t ; h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / A r r a y s & q u o t ; & g t ; < b r / > & l t ; b : s t r i n g & g t ; D e l a y e d C o n f i r m a t i o n & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; F i n a l C l o s e o u t C h a r g e s & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; S e r v i c e P r o v i d e r C a n c e l & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; S e r v i c i n g V e h i c l e G P S T r a c k i n g & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; S t a t u s U p d a t e & l t ; / b : s t r i n g & g t ; < b r / > & l t ; / a : A l l o w e d B o o k i n g U p d a t e A c t i o n T y p e s & g t ; < b r / > & l t ; a : B o o k e r I A T A i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C C B i l l i n g Z i p C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C C C V V N o & g t ; 0 & l t ; / a : C C C V V N o & g t ; < b r / > & l t ; a : C C E x p i r y M o n t h & g t ; 0 & l t ; / a : C C E x p i r y M o n t h & g t ; < b r / > & l t ; a : C C E x p i r y Y e a r & g t ; 0 & l t ; / a : C C E x p i r y Y e a r & g t ; < b r / > & l t ; a : C C H o l d e r N a m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C C N u m b e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C C T y p e & g t ; U n k n o w n & l t ; / a : C C T y p e & g t ; < b r / > & l t ; a : C o n t a c t E m a i l & g t ; a n k i t . p a t e l @ g r o u n d w i d g e t s . c o m & l t ; / a : C o n t a c t E m a i l & g t ; < b r / > & l t ; a : C o n t a c t N a m e & g t ; R e s D i s p a t c h & l t ; / a : C o n t a c t N a m e & g t ; < b r / > & l t ; a : C o n t a c t P h o n e & g t ; + 1 2 1 2 2 1 3 2 1 3 2 & l t ; / a : C o n t a c t P h o n e & g t ; < b r / > & l t ; a : C r e d i t C a r d 3 D S e c u r e D a t a / & g t ; < b r / > & l t ; a : C u s t o m F i e l d s / & g t ; < b r / > & l t ; a : C u s t o m e r C o d e & g t ; S a r j u T e s t & l t ; / a : C u s t o m e r C o d e & g t ; < b r / > & l t ; a : D e p a r t m e n t C o d e / & g t ; < b r / > & l t ; a : D r o p f f D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : E m p l o y e e C o d e / & g t ; < b r / > & l t ; a : E x t r a P a s s e n g e r s / & g t ; < b r / > & l t ; a : E x t r a S e r v i c e s x m l n s : b = & q u o t ; h t t p : / / s c h e m a s . m i c r o s o f t . c o m / 2 0 0 3 / 1 0 / S e r i a l i z a t i o n / A r r a y s & q u o t ; & g t ; < b r / > & l t ; b : s t r i n g & g t ; C h i l d S e a t & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; W h e e l c h a i r & l t ; / b : s t r i n g & g t ; < b r / > & l t ; b : s t r i n g & g t ; 1 2 3 & l t ; / b : s t r i n g & g t ; < b r / > & l t ; / a : E x t r a S e r v i c e s & g t ; < b r / > & l t ; a : I s M a i l O r T e l e p h o n e O r d e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : L o c a t i o n s & g t ; < b r / > & l t ; a : L o c a t i o n D e t a i l & g t ; < b r / > & l t ; a : A d d r e s s L i n e 1 & g t ; 1 0 9 E a s t 4 2 n d S t r e e t & l t ; / a : A d d r e s s L i n e 1 & g t ; < b r / > & l t ; a : A d d r e s s L i n e 2 / & g t ; < b r / > & l t ; a : A d d r e s s L i n e 3 / & g t ; < b r / > & l t ; a : A d d r e s s T y p e & g t ; P i c k u p & l t ; / a : A d d r e s s T y p e & g t ; < b r / > & l t ; a : A i r l i n e C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t C i t y i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t I C A O C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t N a m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C i t y & g t ; N e w Y o r k & l t ; / a : C i t y & g t ; < b r / > & l t ; a : C o u n t r y C o d e & g t ; U S & l t ; / a : C o u n t r y C o d e & g t ; < b r / > & l t ; a : D e s t i n a t i o n A i r p o r t i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : D i s p a t c h C r o s s S t r e e t / & g t ; < b r / > & l t ; a : D i s p a t c h D i r e c t i o n / & g t ; < b r / > & l t ; a : D i s p a t c h P i c k u p P o i n t i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : F i x e d B a s e O p e r a t o r I n f o i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : F l i g h t N u m b e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : F l i g h t S c h e d u l e D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : F l i g h t T y p e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : L a t i t u d e & g t ; 4 0 . 7 5 2 0 6 2 & l t ; / a : L a t i t u d e & g t ; < b r / > & l t ; a : L o c a t i o n T y p e & g t ; A d d r e s s & l t ; / a : L o c a t i o n T y p e & g t ; < b r / > & l t ; a : L o n g i t u d e & g t ; - 7 3 . 9 7 6 3 0 0 & l t ; / a : L o n g i t u d e & g t ; < b r / > & l t ; a : N o t e s / & g t ; < b r / > & l t ; a : O r i g i n A i r p o r t i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : P i c k u p D r o p o f f P o i n t / & g t ; < b r / > & l t ; a : P l a c e N a m e & g t ; H y a t t G r a n d C e n t r a l N e w Y o r k & l t ; / a : P l a c e N a m e & g t ; < b r / > & l t ; a : P o s t a l C o d e & g t ; 1 0 0 1 7 & l t ; / a : P o s t a l C o d e & g t ; < b r / > & l t ; a : S c h e d u l e d A r r i v a l D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S c h e d u l e d D e p a r t u r e D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S h i p C a r r i e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S h i p N a m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S h i p S c h e d u l e d D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S h i p S c h e d u l e d P i e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S h i p T e r m i n a l i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : S t a t e & g t ; N Y & l t ; / a : S t a t e & g t ; < b r / > & l t ; a : T r a i n C a r r i e r C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n D e s t i n a t i o n S t a t i o n i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n N u m b e r i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n O r i g i n S t a t i o n i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n S c h e d u l e d D a t e T i m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n S c h e d u l e d P l a t f o r m T r a c k i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : T r a i n S t a t i o n i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; / a : L o c a t i o n D e t a i l & g t ; < b r / > & l t ; a : L o c a t i o n D e t a i l & g t ; < b r / > & l t ; a : A d d r e s s L i n e 1 & g t ; 2 0 W e s t 3 4 t h S t r e e t & l t ; / a : A d d r e s s L i n e 1 & g t ; < b r / > & l t ; a : A d d r e s s L i n e 2 / & g t ; < b r / > & l t ; a : A d d r e s s L i n e 3 / & g t ; < b r / > & l t ; a : A d d r e s s T y p e & g t ; D r o p o f f & l t ; / a : A d d r e s s T y p e & g t ; < b r / > & l t ; a : A i r l i n e C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t C i t y i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t I C A O C o d e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : A i r p o r t N a m e i : n i l = & q u o t ; t r u e & q u o t ; / & g t ; < b r / > & l t ; a : C i t y & g t ; N e w Y o r k & l t ; / a : C i t y & g t ; < b r / > & l t ; a : C o u n t r y C o d e & g t ; U S & l t ; / a : C o u n t r y C o d e & g t ; < b r / >
40.748440
Address
-73.985664
Empire State Building
10001
NY
1
+1 2122132132
ankit.patel@groundwidgets.com
Sarju
Patel
IN
2025-03-07T06:00:00
2025-03-07T11:00:00
77166*2
New
0
Transfer
ÃÂ This is test transaction
1.79
9
Sedan
Почему простой XML работает хорошо, но simplexml_load_string не работает с этим более сложным XML? Я уже подтвердил, что он действителен XML, правильно кодируется и т. Д. Я попробовал считывать пространства имен и т. Д. (Но, очевидно, не должно было этого).
Подробнее здесь: https://stackoverflow.com/questions/794 ... d-soap-xml
Мобильная версия