Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sax Parser php nieparzyste id
OpsS
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 29.01.2017

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


Staram się uzyskać dane z xml o nieparzystej wartości id. Kiedy ustawię żeby id było nieparzyste to owszem jest, ale się dubluje wartości oraz są one z parzystych id. Jak mogę to poprawić?


Poniższy obrazek przedstawia jak wygląda tabela
Zdjęcia

  1. class ksiazka extends SAXParser {
  2.  
  3. public $book_tab = array();
  4. public $books;
  5.  
  6. public function startElement($parser, $name, $attributes) {
  7. $this->tagName = $name;
  8. if ($name == "book" && $attributes['id'] % 2 == 1) {
  9. $this->books = new Books();
  10. $this->books->ID = $attributes['id'];
  11. }
  12. }
  13.  
  14.  
  15. public function characterData($parser, $data) {
  16. if ($this->tagName == "title") {
  17. $this->books->TITLE = $data;
  18. }
  19. }
  20.  
  21. public function endElement($parser, $name) {
  22. $this->tagName = "";
  23. if ($name == "book") {
  24. $this->book_tab[] = $this->books;
  25. }
  26.  
  27. }
  28. }
  29.  
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




No przeciez w endElement wkladasz kazda ksiazke po kolei niezaleznie czy to jest parzyste czy nie. Wiec dla parzystych wkladasz ostatnio dodana nieparzysta.

Tam gdzie sprawdzasz czy to jest parzyste czy nie to dla parzystej powinienies przypisac $this->books = null.
A w kodzie endElement dodawac tylko gdy $this->books !== null
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 06:36