Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok NapísalOffline : 14.12.2009 2:32

Prosim vas o pomoc, uz sa s tym trapim dost dlho a neviem to spojazdnit.

Jedna sa o to, ze mam XML subor, z ktoreho chcem vytiahnut data, ale pomocou javascriptu.

Ciastocne mi to slo v IE, ale vo FF nie, ale neviem to dotiahnut do konca.

Tu je jednoduchy XML priklad:
Kód:
<film>
<title>nazov</title>
<episode_title>nazov2</episode_title>
<episode_orig_title/>

<pic>
<pic_link>http://www.picture.sk/182616_2.jpg</pic_link>
</pic>

<attrib>nejaky text</attrib>
<desc>text bla bla</desc>

<creators>

<creator>
<person_id>23725</person_id>
<name>blabla</name>
</creator>

<creator>
<person_id>246461</person_id>
<name>blabla</name>
</creator>

</creators>
</film>

a tu je script ktory mi nefunguje
Kód:
<script type="text/javascript">
function spracuj (xmlFile) {
   
 var xmlDoc; 
 var moz = (typeof document.implementation != 'undefined') && (typeof 
document.implementation.createDocument != 'undefined'); 
 var ie = (typeof window.ActiveXObject != 'undefined'); 
 
 if (moz) { 
   xmlDoc = document.implementation.createDocument("", "", null) 
   xmlDoc.onload = readXML; 
 } else if (ie) { 
   xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
   xmlDoc.async = false; 
   while(xmlDoc.readyState != 4) {}; 
 } 
 xmlDoc.load(xmlFile); 

var xmlF = xmlDoc.getElementsByTagName("film");

alert (xmlF); 

return

}</script>


Skusal som predtym aj napr. pomocou ChildNodes, ale ja to potrebujem vytiahnut podla tagov.

Title, pic, attrib atd.. to sa neopakuju, ale potom je tam creator a tam to potrebujem vytiahnut vsetko v cykle.

Pomocou php neni problem, to zvladam, ale pomocou javascriptu je to pre mna nieco nove. Pozeral som uz neviemkolko webov kde to popisuju, ale nedari sa mi to spojazdnit pre moju strukturu, a tento moj script dokonca ani nejde vo FF.

diky moc


Offline

Čestný člen
Čestný člen
XML subor a javascript

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 14.12.2009 11:36

Preco to robis zlozito? Pouzi XMLHttpRequest s tym, ze miesto responseText budes pracovat s responseXML, tak by si mal ziskat klasicky DOMDocument a v nom sa mozes hrabat kolko chces. Jediny prehliadac, ktory to nezvladne, je pokial viem Konqueror, ktory XML nepodporuje vobec.


Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 16.12.2009 12:48

takze uz som sa dopracoval k tomu, ze mi to funguje vo FF, ale v IE bude asi chyba v jednom riadku. Spracovanie XML funguje uz vo vsetkych browseroch, len v IE tam bude chyba uz s manipulaciou s tagmi.

Moj XML:

Kód:
<data>

<film>

<title>Filmtitle</title>
<title_orig>sometitle</title_orig>
<episode_title/>
<pic><pic_link>78160_2.jpg</pic_link></pic>
<attrib>some attributes</attrib>
<description>some description</description>

<creators>
<creator>
<person_id>25645</person_id>
<name>John David Coles</name>
</creator>

<creator>
<person_id>206791</person_id>
<name>Edward Ornelas</name>
</creator>

</creators>

</film>

</data>


A javascript /uvadzam cely script, ale problem bude len v poslednej casti:

Kód:
<script type="text/javascript" language="javascript">
   var http_request = false; var rr=1;
   function makeRequest(url, parameters) {
      http_request = false;
      if (window.XMLHttpRequest) { // Mozilla, Safari,...
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      http_request.onreadystatechange = alertContents;
      http_request.open('GET', url + parameters, true);
      http_request.send(null);
   }

   function alertContents() {
      if (http_request.readyState == 4) {
         if (http_request.status == 200) {

            var root = http_request.responseXML.documentElement;
            var output = "";
                output += "title-" + root.getElementsByTagName('title')[0].childNodes[0].nodeValue + "<br/>";
                output += "img-" + root.getElementsByTagName('pic_link')[0].childNodes[0].nodeValue + "<br/>";
                output += root.getElementsByTagName('description_200')[0].childNodes[0].nodeValue + "<br/>Creators: ";
                var creators = root.getElementsByTagName('name');
                for(i=0; i<creators.length; i++) {
                    output += root.getElementsByTagName('name')[i].childNodes[0].nodeValue;
                    if(i != (creators.length - 1)) { output += ", "; }  //not last one
                    else { output += "."; }  //last one, full stop.
                }
                document.write(output);
       }
         else {
            alert('There was a problem with the request.(Code: ' + http_request.status + ')');
         }
      }
   }
   function do_xml() {
      makeRequest('php.xml', '');
   }
   

   
</script>



<input type="button" name="button" value="GET XML"
   onclick="javascript:do_xml();"/>


Prosim vas o help ... velmi by mi pomohla kazda rada.

Vo FF mi to pekne vypise ten output subor, ale v IE sa nic nedeje, lebo je tam chyba asi v tomto riadku output += "title-" + root.getElementsByTagName('title')[0].childNodes[0].nodeValue + "<br/>"; lebo hlasi nieco s object NULL

A este jeden problem s tym je - ak spracuvam xml subor z mojho PC na localhoste, funguje to vo FF ok, ale akonahle dam externy XML subor, hlasi mi chybu There was a problem with the request.(Code:0)

Dakujem za akukolvek pomoc!


Offline

Čestný člen
Čestný člen
XML subor a javascript

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 16.12.2009 13:39

Viem o tom, ze IE ma v XML velky problem s DOMom, vela veci tam nefunguje. Ak sa to tyka aj responseXML (pravdepodobne ano), moze sa stat, ze childNodes nebude existovat. Vyskusaj si vypisat root.getElementsByTagName('title')[0].innerHTML, pokial to funguje, je chyba presne v tom.
Co sa tyka druheho problemu, subor, ktory requestujes, musi byt na tej istej domene a takisto nemozes requesty spustat z file://. Prekontroluj to.


Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 16.12.2009 14:00

hm, skusil som toto

alert (root.getElementsByTagName('title')[0].innerHTML);

vo FF mi vypisalo undefined, a v IE sa nedeje vobec nic..len dole v browseri opat ta ista chyba - 'null' ma hodnotu NULL alebo nie je objekt.
Ani alert okno nevyskoci v IE.

Co sa tyka requestu, ja potrebujem tahat z externeho XML suboru...

Pomocou PHP tak taham bez problemov, pomocou javascriptu to nejde?


Offline

Čestný člen
Čestný člen
XML subor a javascript

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 19.12.2009 17:03

Zaujimave, teraz som si to skusil v IE8 aj v IE8 Compatibility View a vsetko funguje. Prosim odkaz na zivu ukazku.


Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 19.12.2009 17:28

ono problem je , ze to XML sa stale meni. teda struktura ostava, ale niektore tagy niekedy mozu byt aj prazdne.

Neviem, teraz to nejde ani vo FF..

tu je ukazka http://www.inbazar.sk/test/skuska.php


Offline

Čestný člen
Čestný člen
XML subor a javascript

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34
Bydlisko: Brno
Príspevok NapísalOffline : 19.12.2009 18:19

V prvom rade pracuj vzdy v standards mode. Daj na prvy riadok HTML kodu trebars
Kód:
<!doctype html>
Potom to mozeme rozoberat dalej.


Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 19.12.2009 18:51

jj, jasne.. ja som to len narychlo nahodil.. uz to tam je


Offline

Užívateľ
Užívateľ
XML subor a javascript

Registrovaný: 07.08.06
Prihlásený: 18.11.21
Príspevky: 947
Témy: 268
Bydlisko: Levice
Príspevok Napísal autor témyOffline : 22.12.2009 11:36

takze chyba bola pravdepodobne v kodovani xml suboru, pretoze tam boli rozne haky baky, ktore sa nedali naparsovat... ale uz som to cele vyriesil pomocou ajax load, kedze kazdopadne potrebujem manipulovat s externym xml. diky..vyriesene


Odpovedať na tému [ Príspevkov: 10 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Ako parsovat xml súbor?

v PHP, ASP

1

443

19.02.2010 14:11

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kontrola ci je subor xml

v PHP, ASP

14

1019

28.07.2009 10:40

jozef.rusnak Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. javascript - otvorit subor a obnovovat ho

v JavaScript, VBScript, Ajax

4

973

16.09.2007 22:20

0rech Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Problém s .XML (Asi zakódovaný súbor)

v HTML, XHTML, XML, CSS

0

322

26.02.2010 16:56

hasic1010 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ako ulozit externy XML subor na moj server

v PHP, ASP

13

798

14.01.2010 6:10

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Firefox : "AUS: Aktualizačný súbor XML sa nenašiel (404)"

v Operačné systémy Microsoft

1

363

05.04.2009 13:26

yterbium Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Generovanie XML:Chybná analýza XML: žiadny prvok sa nenašiel

v HTML, XHTML, XML, CSS

1

882

16.12.2011 16:49

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. XML Schema => XML instance document

v HTML, XHTML, XML, CSS

0

733

02.11.2009 17:46

sINN3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. javascript wysiwyg v javascript popup

v JavaScript, VBScript, Ajax

1

849

25.07.2009 19:29

Ďuri Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. C++ Hlavickovy subor vs Hlavickovy subor s CPP suborom (Alebo deklaracia a definicia tried v1 alebo 2och suboroch)

v Assembler, C, C++, Pascal, Java

5

612

19.06.2017 21:16

BX Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. javascript

v Sieťové a internetové programy

1

587

01.05.2009 15:28

Jaro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. javascript

v JavaScript, VBScript, Ajax

1

1602

22.03.2006 19:29

JanoF Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. javascript

v HTML, XHTML, XML, CSS

21

1105

06.03.2009 11:03

suchy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. xml

v HTML, XHTML, XML, CSS

1

777

02.04.2009 13:38

Tominator Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JavaScript aritmetika

v JavaScript, VBScript, Ajax

1

614

29.03.2016 15:11

killer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. MENU - JAVASCRIPT

v JavaScript, VBScript, Ajax

7

1305

01.03.2008 16:24

mage Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra