Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [XML] Wyciągniecie danych z xml i zapis do pliku tekstowego
emess24
post 27.03.2017, 19:19:23
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 27.03.2017

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
trueblue
post 27.03.2017, 19:28:35
Post #2





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 27.03.2017, 19:58:29
Post #3





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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ść.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 27.03.2017, 20:22:38
Post #4





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


http://stackoverflow.com/questions/3602673...ional-array-php


--------------------
Go to the top of the page
+Quote Post
trueblue
post 28.03.2017, 07:40:32
Post #5





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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 "-".


--------------------
Go to the top of the page
+Quote Post
trueblue
post 28.03.2017, 09:17:00
Post #6





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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


--------------------
Go to the top of the page
+Quote Post
trueblue
post 28.03.2017, 09:38:01
Post #7





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


To http://stackoverflow.com/questions/3602673...ional-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.


--------------------
Go to the top of the page
+Quote Post
trueblue
post 31.03.2017, 21:14:42
Post #8





Grupa: Zarejestrowani
Postów: 5 559
Pomógł: 1515
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


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...

Ten post edytował trueblue 28.03.2017, 10:35:18


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.11.2019 - 00:55