XML form modtages, filtere ALT væk undtaget dataene - hvordan
HejsaJeg modtager en XML fil via
$request = $HTTP_RAW_POST_DATA;
Inholdet af $request ser sådant her ud :
ÿþ< ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " U T F - 1 6 " ? > < ? x f a g e n e r a t o r = " X F A 2 _ 0 " A P I V e r s i o n = " 2 . 2 . 5 0 2 8 . 0 " ? > < x d p : x d p x m l n s : x d p = " h t t p : / / n s . a d o b e . c o m / x d p / " > < x f a : d a t a s e t s x m l n s : x f a = " h t t p : / / w w w . x f a . o r g / s c h e m a / x f a - d a t a / 1 . 0 / " > < x f a : d a t a > < f o r m 1 > < S u b f o r m _ D o c u m e n t > < S u b f o r m _ M e d l e m s o p l y s n i n g e r > < M e d l e m s n u m m e r _ T e x t > 0 0 0 0 0 0 - 0 1 < / M e d l e m s n u m m e r _ T e x t > < C P R n u m m e r _ T e x t > 0 0 0 0 0 0 - 0 0 0 2 < / C P R n u m m e r _ T e x t > < N a v n _ T e x t > 3 < / N a v n _ T e x t > < A d r e s s e _ T e x t > 4 < / A d r e s s e _ T e x t > < P o s t n u m m e r o g B y _ T e x t > 5 < / P o s t n u m m e r o g B y _ T e x t > < T e l e f o n n u m m e r _ T e x t > 0 0 0 0 0 0 0 6 < / T e l e f o n n u m m e r _ T e x t > < E p o s t a d r e s s e _ T e x t > n o s @ m u g . c o m < / E p o s t a d r e s s e _ T e x t > < / S u b f o r m _ M e d l e m s o p l y s n i n g e r > < S u b f o r m _ A n s æ t t e l s e s o p l y s n i n g e r > < S t i l l i n g _ T e x t > 7 < / S t i l l i n g _ T e x t > < F r a t r æ d e l d a t o _ T e x t > 8 < / F r a t r æ d e l d a t o _ T e x t > < U d m e l d i n g s d a t o > 9 < / U d m e l d i n g s d a t o > < / S u b f o r m _ A n s æ t t e l s e s o p l y s n i n g e r > < S u b f o r m _ B r a n d v æ s e n o p l y s n i n g e r > < R e g i o n _ T e x t > 0 < / R e g i o n _ T e x t > < A m t _ T e x t > 0 < / A m t _ T e x t > < K o m m u n e _ T e x t > 0 < / K o m m u n e _ T e x t > < / S u b f o r m _ B r a n d v æ s e n o p l y s n i n g e r > < T i l l i d s m a n d s u n d e r s k r i f t _ T e x t / > < / S u b f o r m _ D o c u m e n t > < / f o r m 1 > < / x f a : d a t a > < / x f a : d a t a s e t s > < e x e c E v e n t c o n t e x t = " x f a [ 0 ] . f o r m [ 0 ] . f o r m 1 [ 0 ] . # p a g e S e t [ 0 ] . P a g e 1 [ 0 ] . B u t t o n 1 [ 0 ] " a c t i v i t y = " p r e S u b m i t " / > < p d f h r e f = " . . / . . / . . / . . / . . / D o c u m e n t s a n d S e t t i n g s / W E B @ MyPc / D e s k t o p / u d m e l d e l s e 2 _ f p b . p d f " x m l n s = " h t t p : / / n s . a d o b e . c o m / x d p / p d f / " / > < x f d f x m l n s = " h t t p : / / n s . a d o b e . c o m / x f d f / " x m l : s p a c e = " p r e s e r v e " > < a n n o t s / > < / x f d f > < / x d p : x d p >
Spørgsmålet er nu hvordan hulen får jeg filtreret de data ud som jeg skal bruge...
Kan man lave noget søgning i filen, og så oprette et array som indeholder de data som bliver hevet ud...
Jeg har P.T. 3 forskellige form's der bliver sendt på den her måde og flere kan forventes, så et script som blot løber $request igennem og fjerner al det overflødige ville være at foretrække, således at alle form's kan sende til samme script (de 3 form's er meget forskellige)
I eksemlet der er postet med her, drejer det sig om følgende jeg gerne skulel få ind i et array :
$FormData = new_array();
$FormData => "0 0 0 0 0 0 - 0 1";
$FormData => "0 0 0 0 0 0 - 0 0 0 2";
OSV...
Jeg er desvære lang fra en hej til de der preg_match funktioner :-(
Nogen hjælp at hente ?