Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML _ [XML] Wyciągniecie danych z xml i zapis do pliku tekstowego

Napisany przez: emess24 27.03.2017, 19:19:23

Witam,

Potrzebuje wyciągnąć dane z pliku xml i zapisać w formacie tekstowym.
Dane które wyciągam chciałbym zapisać w formacie tabelki, ale z racji tego że plikiem wynikowym będą pliki tekstowe nie wchodzi w grę html.

Wiem jak dostać się do pliku xml i wyciągnąć z niego dane. Gorzej z zapisem w formie tabelki.

Stworzyłem tablicę dwuwymiarową w której podałem nagłówki kolumn oraz dane wyciągnięte z xml za pomocą simplexml. Następnie foreach wylistowłem to.

W jaki sposób zrobić, aby szerokość kolumn były dopasowane do zawartości?

Napisany przez: trueblue 27.03.2017, 19:28:35

Znaleźć maksymalne szerokości każdej kolumny (zakładam, że nie chcesz zawijania wierszy) i każdą wartość kolumny dopełniać spacjami do tejże szerokości. Dodatkowo przy wyświetlaniu używać czcionki monospace.

Napisany przez: trueblue 27.03.2017, 19:58:29

Musisz przejść każdy wiersz danych i zapisywać w odrębnej tablicy długości wartości kolumn (pod warunkiem, że aktualna wartość jest większa od poprzednio zapisanej).
Podobnie jak szukanie wartości maksymalnej w jednowymiarowej tablicy, ale tu wartości maksymalne są odrębnej dla każdej kolumny (musisz mieć więc tablicę na wartości maksymalne).
Zamiast 10-tki, musisz dopełnić X, gdzie X=maksimum_kolumny-aktualna_długość.

Napisany przez: trueblue 27.03.2017, 20:22:38

http://stackoverflow.com/questions/36026733/get-max-and-min-value-each-column-in-multdimensional-array-php

Napisany przez: trueblue 28.03.2017, 07:40:32

Dla każdej kolumny (przeglądając wszystkie wiersze) musisz znaleźć maksymalne długości. Link podałem wyżej.
Wyświetlając dane porównujesz długość aktualnej wartości z wartością maksymalną dla danej kolumny. Różnicą (X) dopełniasz ciąg.

W podanym przykładzie dopełniasz zawsze 17 razy "-".

Napisany przez: trueblue 28.03.2017, 09:17:00

Wartości maksymalne masz znaleźć przed wyświetlaniem danych. Używasz ich przy wyświetlaniu, do określenia długości dopełnienia.

Napisany przez: trueblue 28.03.2017, 09:38:01

To http://stackoverflow.com/questions/36026733/get-max-and-min-value-each-column-in-multdimensional-array-php musisz zrobić przed wyświetleniem danych.
Korzystasz z tych informacji przy wyświetlaniu danych (w str_pad). Jeśli obecnie masz kod wyświetlający dane, ale bez wyrównania, to jedyną różnicą będzie dodanie właśnie str_pad.

Napisany przez: trueblue 31.03.2017, 21:14:42

Najpierw szukasz maksimum, a potem (poza tym skryptem, na zewnątrz) pętla/pętle wyświetlając/e dane.

Przykład:
1.1: abc
1.2: cdef
1.3: ghi
2.1: jklmnop
2.2: r
2.3: st

Tablica maksimum:
1: 7
2: 4
3: 3

Wyświetlanie i dopełnienia:
1.1: 7-3=4
1.2: 4-4=0
1.3: 3-3=0
2.1: 7-7=0
2.2: 4-1=3
2.3: 3-2=1


Dopiero teraz zauważyłem w jakim ciekawym temacie uczestniczyłem...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)