Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> XML - edycja danych
glowa
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 4.05.2003

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


Jestem początkujący w XML'u... :oops:

Ale już przekonałem się o tym że jest to dobry sposób na przechowywanie danych.

Mam jednak pytanie czy dane zawarte w pliku XML można edytować (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Np. mam prosty plik XML kilka znaczników z parametrami i danymi. Czy moge w jakis spoób (jeśli tak to jaki) zmienić te dane - tzn. zmienic zawartosc pliku (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Proszę o pomoc - re-posty, linki... etc
Go to the top of the page
+Quote Post
Seth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


XML to zwykly plik tekstowy, ktory moesz otworzyc z VI'a czy tez Notatnika - tak jak strone HTML
Go to the top of the page
+Quote Post
glowa
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 4.05.2003

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


ok!

wiec jedyne co mi pozostaje to edycja pliku tak jak plik tekstowy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

tzn. rzeby zmienic np. parametr jakiegos znacznika musze zedytowac plik uzywajac zwyklych funkcji to edycji stringow wyszukac znacznik -> parametr -> itd...)

nie ma jakis wyspecjalizowanych funkcji php do zmiany danych i ich dodawania... ?
Go to the top of the page
+Quote Post
DeyV
post
Post #4





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




manual ->
XXV. DOM XML functions
CVI. WDDX Functions
CVII. XML parser functions
CVIII. XML-RPC functions


oraz http://webcity.pl/artykuly.php/t/39
Go to the top of the page
+Quote Post
micro
post
Post #5





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 23.03.2003

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


Czy jest mozliwe skorzystanie z formularzy do edytowania, dodawania i usuwania danych w pliku XML?
Go to the top of the page
+Quote Post
Jabol
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


jest mozliwe. Po prostu robisz formularz np. "modyfikacja danych" i w tym forumlarzy wstawiasz aktualne wartosci a ten, kto sidzie przed formularzem je edytuje, wysyla ci POST'em i sobie za pomoca DOM'a wstawiasz.
Go to the top of the page
+Quote Post
wassago
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


hej,

czy jest jakas inna mozliwosc edytowania wartosci i atrybutow? bo kurde nie moge zmusic mojego php'a aby funkcje DOM dzialaly :/ ostatnio mialem dosc hardcorowy pomysl, mianowicie:

- wyszukuje ciag i zamieniam go na inny - ale to nie dziala tak jak bym chcial

albo

- ustawic kursor w odpowiednim miejscu i wykasowac odpowiednia ilosc znakow i dopisac nowe - tez mi ten sposob nie pasuje za bardzo :/

@Jabol mozesz podac kompletny przyklad jak kozystac z funkcji DOM na przykladzie np tego pliku:

[xml:1:7ee5bdafcd]
<x>
<y att="x" />
<y1>xx</y1>
</x>
[/xml:1:7ee5bdafcd]
i chce zmienic att="x" i wartosc "xx" - jak to zrobic?
Go to the top of the page
+Quote Post
wassago
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 701
Pomógł: 0
Dołączył: 26.06.2002
Skąd: Londyn

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


ponawiam temat, bardzo jest mi to potrzebne
Go to the top of the page
+Quote Post
Jabol
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

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


ok, sory, ale zapomniałem o tym...
[php:1:1348074d02]<?php
if(!$dom=domxml_open_file("twoj_plik.xml"))
{
print "Nie można zparsowac!n";
}
$root=$dom->document_element();
$children=$root->child_nodes();
$child1=$children[0]->child_nodes();
$child2=$children[1]->child_nodes();
for($i1=0;$i1<sizeof($child1);$i1++)
{
if($child1[$i1]->node_type()==XML_ATTRIBUTE_NODE)
break;
}
for($i2=0;$i2<sizeof($child2);$i2++)
{
if($child2[$i2]->node_type()==XML_TEXT_NODE)
break;
}
$text=$child1[$i1]->node_value();
$child1[$i1]->set_content($child2[$i2]->node_value());
$child2[$i2]->set_content($text);
$dom->dump_file("twoj.xml");
?>[/php:1:1348074d02]Właściwie to okazało się, że jest to bardzo źle udokumentowane, ale tak chyba będzie działać. Jeżeli nie to spróbuj pokombinowac metodą prób i błędów.

pamiętam, że kiedyś robiłem w tym testy ( własną bazę danych (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ) i całkiem nieźle działało.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 20:05