Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XML - edycja danych
Forum PHP.pl > Forum > XML, AJAX > XML
glowa
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ć 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 questionmark.gif

Proszę o pomoc - re-posty, linki... etc
Seth
XML to zwykly plik tekstowy, ktory moesz otworzyc z VI'a czy tez Notatnika - tak jak strone HTML
glowa
ok!

wiec jedyne co mi pozostaje to edycja pliku tak jak plik tekstowy 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... ?
DeyV
manual ->
XXV. DOM XML functions
CVI. WDDX Functions
CVII. XML parser functions
CVIII. XML-RPC functions


oraz http://webcity.pl/artykuly.php/t/39
micro
Czy jest mozliwe skorzystanie z formularzy do edytowania, dodawania i usuwania danych w pliku XML?
Jabol
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.
wassago
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?
wassago
ponawiam temat, bardzo jest mi to potrzebne
Jabol
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 biggrin.gif ) i całkiem nieźle działało.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.