Parsowanie

Tutaj dyskutujemy o PHP oraz zgłaszamy i rozwiązujemy problemy dotyczące tego języka.

Re: Parsowanie

Postprzez Lenson » poniedziałek, 28 marca 2011, 14:51

Cos czuje że z miesiąc rozkminy przede mną i godziny kursów .. :/ eh , dla jednego pliku XML tyle roboty :S

Z Samym SQL i PHP raczej problemu nie mam , trochę większy z php , bo jeżeli mam już dane w bazie , to zrobienie jakiegokolwiek zapytania wyszukiwania , jest dziecinnie proste , najgorzej umieścić te cholerne pliki z xml do tej bazy , przeraża mnie to
Lenson
Bywalec
Bywalec
 
Posty: 67
Dołączył(a): piątek, 25 lutego 2011, 01:41

Re: Parsowanie

Postprzez Morfidon » poniedziałek, 28 marca 2011, 14:56

Po tych kursach będziesz wiedział jak przenieść te dane. Te kursy dadzą Ci także możliwość tworzenia dużo fajniejszych rzeczy niż tworzyłeś dotychczas, to nie jest stracony czas ;) Zwłaszcza taki jQuery. Przypatrz się na menu logowania na videokurs.pl, było robione może 10 minut, bez jQuery robiłoby się coś takiego z 2-4h.
Morfidon
Administrator
Administrator
 
Posty: 593
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Parsowanie

Postprzez Lenson » poniedziałek, 28 marca 2011, 17:27

Ależ skąd ja nie twierdze że mi się nie przydadzą , wręcz przeciwnie , gdyby środki mi na to wystarczały - i odpowiednia ilość czasu to pochłonął bym wszystkie te kursy ^^ Z tym że chciał bym , aby strona już zaistniała w sieci a cały czas coś mnie powstrzymuje
Lenson
Bywalec
Bywalec
 
Posty: 67
Dołączył(a): piątek, 25 lutego 2011, 01:41

Re: Parsowanie

Postprzez Lenson » środa, 30 marca 2011, 16:10

Kod: Zaznacz cały
<script>
$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "wpisy.xml",
        dataType: "xml",
        success: fParsujXml
    });
});

function fParsujXml(xml) {


    $(xml).find("wpis").each(function () {
        $(".wpisy").append('<div class="wpis"><div class="tytul">'
            + $(this).find("signature").text() + '</div><div class="opis">'
            + $(this).find("description").text() + '</div><div class="data">Dnia '
            + $(this).find("data").text() + '</div><div class="link"><a href="'
            + $(this).find("link").text() + '" target="_blank">link</a></div></div>');
      
        $(".wpisy").fadeIn(1000);
      
      $(".wpis").mouseover(function(){
         $(this).css('border-color','#A4045A');
      });
      
      $(".wpis").mouseout(function(){
         $(this).css('border-color','#aaa');
      });

    });

}
</script>


Użyłem takiej funkcji , w prawdzie wypisuje mi co nie co (to nie jest jeszcze to czego oczekuje, to jest przykladowy xml) , Tylko teraz pytanie , co zrobic , jak np codziennie dochodzi mi na ftp nowy plik xml, gdzie ja pozniej bede skladowal te wszystkie dane ktore sa w tych xml ? zeby pozniej mi wybieralo ze wszystkich razem xml a nie tylko z jednego ?
Lenson
Bywalec
Bywalec
 
Posty: 67
Dołączył(a): piątek, 25 lutego 2011, 01:41

Re: Parsowanie

Postprzez Morfidon » środa, 30 marca 2011, 16:17

Np. możesz wymyślić jakąś regułę zapisywania plików xml, w taki sposób aby też samo pobieranie
Kod: Zaznacz cały
function getXMLFile(whichOne)
{
    $.ajax({
        type: "GET",
        url: "wpisy"+whichOne+".xml",
        dataType: "xml",
        success: fParsujXml
    });
}


było zależne od jakiejś zmiennej przysyłanej do tej funkcji javascript. Nie wiem do końca jak są tworzone pliki aktualnie, więc ciężko coś zasugerować.
Morfidon
Administrator
Administrator
 
Posty: 593
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Parsowanie

Postprzez Lenson » środa, 30 marca 2011, 16:28

specyfikacji modułu API WWW, niezbędnej do skonfigurowania exportu z programu asariWEB na indywidualną stronę WWW:
http://pliki.asari.pl/specyfikacje/asar ... ww_api.pdf

Specyfikacja exportu z e-Biuro:
http://pliki.asari.pl/specyfikacje/e-Bi ... ortale.pdf
http://pliki.asari.pl/specyfikacje/e-Bi ... ctions.xml
http://pliki.asari.pl/specyfikacje/e-Bi ... zyklad.zip
Lenson
Bywalec
Bywalec
 
Posty: 67
Dołączył(a): piątek, 25 lutego 2011, 01:41

Re: Parsowanie

Postprzez Morfidon » środa, 30 marca 2011, 16:30

Sorki, ale nie mam czasu na czytanie tych wszystkich specyfikacji, jest to niestety zbyt czasochłonne. Podałem Ci pomysł, spróbuj to jakoś zaimplementować ;)
Morfidon
Administrator
Administrator
 
Posty: 593
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Re: Parsowanie

Postprzez Lenson » środa, 13 kwietnia 2011, 21:13

Stworzyłem coś takiego
Kod: Zaznacz cały
<?php

     $polacz = @mysql_connect('localhost', 'root', '12qwaszx') or die ("Nie moglem sie polaczyc z serwerem");

     mysql_select_db('dziennik') or die ("Nie moglem znalesc bazy danych");

$doc = DOMDocument::load('produkty.xml');
$xpath = new DOMXPath($doc);
$produkty = $xpath->query('produkt');
foreach($produkty as $produkt) {
   $query = 'INSERT INTO uczniowie SET
      `id` = ' . $xpath->query('id/text()', $produkt)->item(0) . '
      `nazwisko` = ' . mysql_real_escape_string($xpath->query('nazwisko/text()', $produkt)->item(0)) . '
      `imie` = ' . mysql_real_escape_string($xpath->query('imie/text()', $produkt)->item(0));
   $sql->query($query);
}

mysql_close($polacz);
?>


XML wygląda tak :
Kod: Zaznacz cały
<?xml version="1.0" encoding="ISO-8859-2"?>
<produkty>
  <produkt>
    <id>1</id>
    <imie>Jan</imie>
    <nazwisko>Nowak</nazwisko>
  </produkt>
  <produkt>
    <id>2</id>
    <imie>Anna</imie>
    <nazwisko>Nowak</nazwisko>
  </produkt>
  <produkt>
    <id>3</id>
    <imie>Piotr</imie>
    <nazwisko>Kowalski</nazwisko>
  </produkt>
</produkty>



I nie wiem dlaczego wyświetla mi taki błąd :/
Kod: Zaznacz cały
Strict Standards: Non-static method DOMDocument::load() should not be called statically in C:\xampp\htdocs\xml\produkty.php on line 8

Catchable fatal error: Object of class DOMText could not be converted to string in C:\xampp\htdocs\xml\produkty.php on line 13
Lenson
Bywalec
Bywalec
 
Posty: 67
Dołączył(a): piątek, 25 lutego 2011, 01:41

Re: Parsowanie

Postprzez Morfidon » czwartek, 14 kwietnia 2011, 11:10

Musisz stworzyć instancję klasy, w które znajduje się metoda:
load()
i dostać się do niej poprzez wskaźnik
Morfidon
Administrator
Administrator
 
Posty: 593
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48

Poprzednia strona

Powrót do PHP

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość

cron