![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 7 Dołączył: 3.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Posiadam pliki o strukturze rdf, które potrzebuję sparsować do tablicy w taki sposób, żeby mozna było ten proces później odwrócić. Na ten moment parser działa już tak, ze rozpoznaje poszczególne elementy które potrzebuje przetworzyć, wypluwa coś takiego:
oczywiście nic nie stoi na przeszkodzie zeby wypluwał '/' przy znacznikach zamykających jesli by to mialo w czyms pomóc. Potrzebuję to jakoś wrzucic do tablicy żebym mógl porównac ze soba kilka takich tablic, konkretnie porównywane bedą wszystkie 'value' poszczególnych parametrów pozdrawiam Ten post edytował WiruSSS 11.08.2013, 09:28:42 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Przecież RDF to zwykły XML, dlaczego nie wykorzystasz pierwszej lepszej biblioteki do jego obsługi?
2. Zamiast mapować dane do tablicy wykorzystaj obiekty. Będą znacznie wygodniejsze przy pracy, ze względu na możliwość indywidualnego określenia równości dwóch elementów jak i składowania metadanych. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 7 Dołączył: 3.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
próbowałem uzyć simplexml ale sie sypie, być może te pliki nie spełniaja wszystkich wytycznych dla plików rdf ...bardzo prosze o info jak to przerzucic czy to do tablicy czy do obiektu
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Pokaż oryginalny plik i sprawdź czy jest on poprawnym XML-em: http://www.xmlvalidation.com/
2. Pokaż swój kod. 3. SimpleXML jest raczej słabą biblioteką, ale i ona poradzi sobie bez większego problemu z RDF-em: http://www.sitepoint.com/simplexml-and-namespaces/ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 29.10.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod http://stackoverflow.com/questions/2486722/parse-rdf-xml-file-to-get-all-rdfabout-values Tutaj z wykorzystaniem rdf paraser Kod http://phpxmlclasses.sourceforge.net/php_rdf_tutorial.pdf i jeszcze inna biblioteka : Kod https://github.com/semsol/arc2 ![]() Ten post edytował spacja 10.08.2013, 10:29:57 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 7 Dołączył: 3.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
...jeszce raz sprawdziłem, simplexml zwraca pusty obiekt, sprawdziłem jeden z plików tym walidatorem wynika z niego ze ten plik jest poprawny. Jaką inną biblioteke mozesz polecić?
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Skoro SimpleXML zwraca Ci pusty obiekt dla niepustych danych wejściowych to... zapewne jest jakiś błąd, dlaczego go nie sprawdzisz?
1. Ponownie: pokaż kod. 2. http://www.php.net/manual/en/refs.xml.php |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 7 Dołączył: 3.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
ponizej link do przykladowego pliku, tak jak mówiłem nie jet to typowy plik rdf chocby ze wzgledu na rozszerzenie, ale to chyba nie powino mieć znaczenia.
http://clients.goodlux.com/tiffany/cr2/IMG_0390.xmp [EDIT] to niby jakoś tam parsuje, działa tylko w jedną strone, sparsowany plik nie wraca do swojej poprzedniej postaci po ponownym parsowaniu za pomocą tego narzędzia [EDIT] Ok prepraszam jesli jest to jakiś banalny problem ale z obiektowym php jak do tej pory miałem malo do czynienia i cięzko mi jest jeszce zrozumiec pewne rzeczy. Doszedłem do szegoś takiego:
rezultat jest taki Kod Array ( [x] => adobe:ns:meta/ [rdf] => http://www.w3.org/1999/02/22-rdf-syntax-ns# [exif] => http://ns.adobe.com/exif/1.0/ [aux] => http://ns.adobe.com/exif/1.0/aux/ [tiff] => http://ns.adobe.com/tiff/1.0/ [xap] => http://ns.adobe.com/xap/1.0/ [dc] => http://purl.org/dc/elements/1.1/ [crs] => http://ns.adobe.com/camera-raw-settings/1.0/ [photoshop] => http://ns.adobe.com/photoshop/1.0/ ) SimpleXMLElement Object ( [@attributes] => Array ( [xmptk] => Public XMP Toolkit Core 3.5 ) ) [EDIT] Więc wychodzi na to że mam dostęp do każdej gałezi z osobna Potrzebowałbym zrobić tak, zeby caly ten plik znalazł się w jednym obiekcie/tablicy ...trochę zaczynam rozumieć o co chodzi z namespaces. Znalazłem kilka przykałdów jak się dostać do takich gałęzi jednak żaden z nich nie ma odzwierciedlenia w moim przypadku. Z tego co widze to zwykłe pliki xml wyglądają dokładnie tak jakbym sobie tego zyczył natomiast obiekty z namespaces są 'dziurawe' ...czy istnieje jakas funkcja która wyswietli mi cały plik rdf w takiej formie jak zwykly plik xml ale z uwzglednieniem tych namespaces? [EDIT] Ok poradziłem w sobie w najbardziej prozaiczny z mozliwych sposobów, szkoda, ze wcześniej na to nie wpadłem ![]() Dla potomnych jesli komuś by się miało przydać
...dokładnie tego mi było trzeba ![]() Ten post edytował WiruSSS 10.08.2013, 18:27:05 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 16.06.2025 - 19:34 |