![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam problem z wyciągnięciem potrzebnych danych z pliku xml, plik ma taką zawartość Kod <?xml version="1.0"?> <player name="Danon" account="111111" exp="770738"></player> Chciałbym z niego wyciągnąć name oraz exp. Próbuję wyciągnąć te dane przez "simplexml" lecz nie udaje mi się to, ponieważ wynik jest pusty. Dzięki za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 58 Pomógł: 5 Dołączył: 2.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
w najgorszym wypadku:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, dałoby rade z tego pliku XML http://wklej.org/hash/e2ec8409794/ wyciągnąć to wszystko co jest pomiędzy <!--// Instant \\--> <!--\\ End Instant //--> ?
Dzięki za pomoc! |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ja chcę tylko to co jest w komentarzu <!--// Instant \\--> <!--\\ End Instant //-->, a nie wszystko :| Dasz rade przerobić to, by wyciągało to co jest w komentarzu <!--// Instant \\--> <!--\\ End Instant //--> ?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
W tym problem, że nie mogę nic zmieniać w tym pliku XML, ponieważ jest on z silnika gry(jak zmienie to sie gra sypnie). Potrzebuje wyciągnąć z tych komentarzy.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pobierasz plik przez file_get_contents(), zamieniasz komentarze na znacznik xml jak wyżej przez preg_replace() i operujesz na simplexml()
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php $sciezka = file_get_contents('spells.xml'); $str1 = preg_replace('<!--// Instant \\-->', '<instant>', $sciezka); $str2 = preg_replace('<!--\\ End Instant //-->', '</instant>', $str1); $xml = simplexml_load_string($str2); ?> Takie coś? Ten post edytował Danon910 31.12.2012, 13:09:29 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak. I nie musisz tworzyć nowej zmiennej str2, wystarczy jak będziesz operował na jednej, str1, ale to już szczegół.
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Jak teraz wyświetlić powiedzmy z 1 czaru name? Jakoś nie moge tego wyciagnac. :s
echo $xml->spell[0]['name']; ? Ten post edytował Danon910 31.12.2012, 13:16:17 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Już to napisałem wyżej, operuj na $xml->instant sprawdź co zawiera print_r
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 26.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki bardzo za pomoc (IMG:style_emoticons/default/smile.gif)
#edit Dlaczego wpisując "print_r($xml->instant);" wyświetla "SimpleXMLElement Object ( )" ? Ten post edytował Danon910 31.12.2012, 13:32:45 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Ponieważ odwołujesz się do obiektu, znacznik instant. Chcąc przeglądać zawartość lecisz ze znacznikiem dalej $xml->instant->kolejnyznacznik
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 07:20 |