Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Cot PPR in loc de cot PT tub rigid?

Centrala Ariston nu incalzeș...

Avertisment cu amenda și pun...
 Boxa portabila

Nedumerire despre shieldul placii...

problema recovery sierra

Legare 2 instalatii de Craciun
 A picat forum.softpedia.com

bodycam protectie personala

Studiu de caz: samuraiul Yamaha/ ...

Unde poti arunca pamant curat
 Recomandare monitor pentru citit ...

Economie gaz ca urmare a automati...

Romania vs Schengen

recomandare leptop
 

Date din XML in Html

- - - - -
  • Please log in to reply
30 replies to this topic

#1
rony2006sb

rony2006sb

    Member

  • Grup: Members
  • Posts: 259
  • Înscris: 13.10.2007
Am un cod xml

<?xml version="1.0" standalone="yes" ?>
  <!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)>
- <SHOUTCASTSERVER>
  <CURRENTLISTENERS>0</CURRENTLISTENERS>
  <PEAKLISTENERS>0</PEAKLISTENERS>
  <MAXLISTENERS>100</MAXLISTENERS>
  <REPORTEDLISTENERS>0</REPORTEDLISTENERS>
  <AVERAGETIME>123</AVERAGETIME>
  <SERVERGENRE>Muzica Ta Preferata</SERVERGENRE>
  <SERVERURL>http://www.test.ro</SERVERURL>
  <SERVERTITLE>Radio Terezian</SERVERTITLE>
  <SONGTITLE>test</SONGTITLE>
  <SONGURL>http://www.test.com</SONGURL>
  <IRC>N/A</IRC>
  <ICQ>N/A</ICQ>
  <AIM>N/A</AIM>
  <WEBHITS>2</WEBHITS>
  <STREAMHITS>0</STREAMHITS>
  <STREAMSTATUS>1</STREAMSTATUS>
  <BITRATE>32</BITRATE>
  <CONTENT>audio/mpeg</CONTENT>
  <VERSION>1.9.8</VERSION>

Vreau ca pe site-ul meu, care este in html sa imi apara doar valoarea <CURRENTLISTENERS>0</CURRENTLISTENERS>
Doar "0"-ul.
Cum pot sa fac asta?

Va multumesc!

#2
senoctar

senoctar

    Member

  • Grup: Members
  • Posts: 733
  • Înscris: 01.07.2006
Fie faci asta pe server cu XSL, PHP, JSP etc. Fie pe client cu Ajax (Javascript). Nu poti cu HTML clasic.

Edited by senoctar, 24 August 2009 - 16:31.


#3
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

View Postrony2006sb, on 24th August 2009, 15:19, said:

Am un cod xml

<?xml version="1.0" standalone="yes" ?>
  <!DOCTYPE SHOUTCASTSERVER (View Source for full doctype...)>
- <SHOUTCASTSERVER>
  <CURRENTLISTENERS>0</CURRENTLISTENERS>
  <PEAKLISTENERS>0</PEAKLISTENERS>
  <MAXLISTENERS>100</MAXLISTENERS>
  <REPORTEDLISTENERS>0</REPORTEDLISTENERS>
  <AVERAGETIME>123</AVERAGETIME>
  <SERVERGENRE>Muzica Ta Preferata</SERVERGENRE>
  <SERVERURL>http://www.test.ro</SERVERURL>
  <SERVERTITLE>Radio Terezian</SERVERTITLE>
  <SONGTITLE>test</SONGTITLE>
  <SONGURL>http://www.test.com</SONGURL>
  <IRC>N/A</IRC>
  <ICQ>N/A</ICQ>
  <AIM>N/A</AIM>
  <WEBHITS>2</WEBHITS>
  <STREAMHITS>0</STREAMHITS>
  <STREAMSTATUS>1</STREAMSTATUS>
  <BITRATE>32</BITRATE>
  <CONTENT>audio/mpeg</CONTENT>
  <VERSION>1.9.8</VERSION>

Vreau ca pe site-ul meu, care este in html sa imi apara doar valoarea <CURRENTLISTENERS>0</CURRENTLISTENERS>
Doar "0"-ul.
Cum pot sa fac asta?

Va multumesc!

Ce doctype ai la documentul html? Ai xml space name (xmlsn) definit?
S-ar putea ca din cauza ca ai un doctype html, in loc de xhtml, sa nu iti parseze browserul partea de xml corect. Nu sunt sigur de asta, insa sint foarte interesat de modul de rezolvare,intrucit am intilnit aceeasi problema acum citeva zile, si abia dupa ce nu am mai avut acces la sursa mi-a venit ideea asta, asa ca as vrea sa stiu daca e buna.
Acolo problema era ca in IE era corect, insa in nici un alt browser nu mergea- era afisat tot codul xml pe ecran.

Deci daca ai doctype html, incearca sa il inlcuiesti cu asta - inclusiv xmlns:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR...l1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

Daca ai deja doctype xhtml, inseamna ca tot ce am spus e varza, si imi cer scuze!

#4
senoctar

senoctar

    Member

  • Grup: Members
  • Posts: 733
  • Înscris: 01.07.2006

View PostJumping Jack, on 24th August 2009, 17:36, said:

Ce doctype ai la documentul html? Ai xml space name (xmlsn) definit?
S-ar putea ca din cauza ca ai un doctype html, in loc de xhtml, sa nu iti parseze browserul partea de xml corect. Nu sunt sigur de asta, insa sint foarte interesat de modul de rezolvare,intrucit am intilnit aceeasi problema acum citeva zile, si abia dupa ce nu am mai avut acces la sursa mi-a venit ideea asta, asa ca as vrea sa stiu daca e buna.
Acolo problema era ca in IE era corect, insa in nici un alt browser nu mergea- era afisat tot codul xml pe ecran.

Deci daca ai doctype html, incearca sa il inlcuiesti cu asta - inclusiv xmlns:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR...l1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

Daca ai deja doctype xhtml, inseamna ca tot ce am spus e varza, si imi cer scuze!

Pai daca e un XML, ce altceva in afara de codul XML ai vrea sa se afiseze ? (in caz ca nu ai un XSL asociat).

#5
rony2006sb

rony2006sb

    Member

  • Grup: Members
  • Posts: 259
  • Înscris: 13.10.2007
Si care este codul PHP pe care sa il folosesc.
Apropo, xml-ul meu se afla la adresa http://server:8000/a...gi?mode=viewxml
Este asta vreo problema?

#6
senoctar

senoctar

    Member

  • Grup: Members
  • Posts: 733
  • Înscris: 01.07.2006

View Postrony2006sb, on 24th August 2009, 19:03, said:

Si care este codul PHP pe care sa il folosesc.
Apropo, xml-ul meu se afla la adresa http://server:8000/a...gi?mode=viewxml
Este asta vreo problema?

Exista o librarie anume pentru asa ceva, are si exemplu inclus : http://webscripts.so...-php-12506.html

#7
rony2006sb

rony2006sb

    Member

  • Grup: Members
  • Posts: 259
  • Înscris: 13.10.2007
Am uploadat scriptul acela pe un host si cand intru pe demo.php (dupa ce am pus parola si hostul meu) imi apare

Warning: fsockopen() has been disabled for security reasons in /home/www/server/shoutcast.class.php on line 38
()

Ma poti ajuta te rog?

#8
senoctar

senoctar

    Member

  • Grup: Members
  • Posts: 733
  • Înscris: 01.07.2006

View Postrony2006sb, on 24th August 2009, 20:19, said:

Am uploadat scriptul acela pe un host si cand intru pe demo.php (dupa ce am pus parola si hostul meu) imi apare

Warning: fsockopen() has been disabled for security reasons in /home/www/server/shoutcast.class.php on line 38
()

Ma poti ajuta te rog?

Inseamna ca firma de la care ai hosting-ul a facut disable la functionalitatea de a te conecta la alt server (in afara de cel unde ai hosting, sau poate blocheaza de tot socket-urile) dintr-un script PHP. Acum ca ma gandesc, nici din javascript nu poti pentru ca browserul blocheaza astfel de conexiuni.
Prima oara am crezut ca fisierul XML este pe acelasi server.
Eu am incercat pe hosting-ul meu si la mine nu e blocat.

De asemenea, poti incerca fisierul care l-am atasat, il pui pe server, si daca nu iti da eroare, ar mai fi o sansa. Tot ce face este sa vada daca poate accesa un XML din afara folosind o implementare HTTP a PHP-ului decat sa foloseasca direct socket-urile.

Attached Files



#9
sergiu_spooky

sergiu_spooky

    Senior Member

  • Grup: Senior Members
  • Posts: 3,738
  • Înscris: 23.06.2006
file_get_contents (php) sigur o să meargă pentru url-uri.
De aici mai ai de scris cinci linii de XSL pe care împreună cu acel XML îl dai unui XSLTProcessor și obți exact rezultatul obținut.
Nu m-aș mira ca în clasa aia shoutcast luată de pe net să se întâmple același lucru, doar file_get_contents fiind înlocuit de un request la server-ul shoutcast, printr-un socket.

#10
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

View Postsenoctar, on 24th August 2009, 17:32, said:

Pai daca e un XML, ce altceva in afara de codul XML ai vrea sa se afiseze ? (in caz ca nu ai un XSL asociat).

Pai s-atunci prostul de IE de unde stie? Ca in IE7 functiona totul cum trebuie. Daca ai citi inca odata ce am scris eu, ai vedea ca am specificat asta.
In cazul meu partea de xml se afla inglobata in documentul html, nu era vorba de un fisier extern. Cum functiona in ie, nu stiu, ca din ce am inteles era vorba de o bibilioteca AJAX acolo care se ocupa de functionalitate - linkuri, content, etc, insa in cazul asta chiar nu pricep ce cauta xml in html.
Oricum, asta e alta problema, nu are legatura mai departe cu ce se discuta aici.

Edited by Jumping Jack, 25 August 2009 - 12:24.


#11
senoctar

senoctar

    Member

  • Grup: Members
  • Posts: 733
  • Înscris: 01.07.2006

View PostJumping Jack, on 25th August 2009, 13:15, said:

Pai s-atunci prostul de IE de unde stie? Ca in IE7 functiona totul cum trebuie. Daca ai citi inca odata ce am scris eu, ai vedea ca am specificat asta.
In cazul meu partea de xml se afla inglobata in documentul html, nu era vorba de un fisier extern. Cum functiona in ie, nu stiu, ca din ce am inteles era vorba de o bibilioteca AJAX acolo care se ocupa de functionalitate - linkuri, content, etc, insa in cazul asta chiar nu pricep ce cauta xml in html.
Oricum, asta e alta problema, nu are legatura mai departe cu ce se discuta aici.

Deci tu nu ai un XML oarecare. Ai un XHTML. Acesta este un format menit sa standardizeze HTML-ul ca un format compatibil XML.
In cazul sau este un XML oarecare, ce nu are un mod de randare cunoscut de browser. Sa adauge doctype xhtml nu l-ar ajuta pentru ca nu are un xhtml (se si vede ca el are deja definit DOCTYPE SHOUTCASTSERVER), l-ar ajuta daca ar putea sa adauge un XSL asociat, dar nu poate din cauza ca fisierul respectiv XML nu il face el, e generat automat de un server shoutcast (nu este un fisier fizic modificabil).

#12
sergiu_spooky

sergiu_spooky

    Senior Member

  • Grup: Senior Members
  • Posts: 3,738
  • Înscris: 23.06.2006
Vorbiți toți ciudățenii.

Documentul postat de el e XML, nu XHTML, nici HTML.
Poate să îi pună orice header, browser-ul tot nu are de unde să știe că trebuie să afișeze doar valoarea din tag-ul CURRENTLISTENERS.
Cum am mai spus, pentru asta ai nevoie de XSL, care nu e obligatoriu să fie specificat în XML, ar fi stupid să crezi că poți aplica un XSL unui XML doar dacă îl specifici în XML nu? (da, e un mecanism acceptat de majoritatea parserelor, dar nu e unic).
Altă variantă e să folosești un scrurt regex pentru a extrage exact porțiunea de care ai nevoie, asta dacă nu dispui de XSL. Probabil și un str_pos te ajută, dacă știi ce e și ăla...
Folosești PHP, așa că aruncă un ochi în documentație și vezi cum funcționează XSLParser și eventual preg_match dacă nu ai XSL activat pe server și nu îl poți activa. În comentarii și în exemple garantat găsești tot codul mură-n gură.

Încă ceva. Dacă IE7 face ceva nu înseamnă că așa ar trebui să facă toate browserele și se poate reproduce ușor. IE are tendința să facă multe lucruri fără să le vrei, dar asta e altă discuție.
Tu nu poți face ce vrei fără să transformi XML cu XSL sau să extragi valoarea aia cu regex.

#13
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

View Postsenoctar, on 25th August 2009, 13:21, said:

Deci tu nu ai un XML oarecare. Ai un XHTML. Acesta este un format menit sa standardizeze HTML-ul ca un format compatibil XML.
In cazul sau este un XML oarecare, ce nu are un mod de randare cunoscut de browser. Sa adauge doctype xhtml nu l-ar ajuta pentru ca nu are un xhtml (se si vede ca el are deja definit DOCTYPE SHOUTCASTSERVER), l-ar ajuta daca ar putea sa adauge un XSL asociat, dar nu poate din cauza ca fisierul respectiv XML nu il face el, e generat automat de un server shoutcast (nu este un fisier fizic modificabil).
Deci... eu nu am un document XHTML.... am un HTML ordinar care, din motive numai de programatorul respectiv cunoscute, contine un cod XML. Nu am doctype xhtml, ci html, si anume html 4.01 transitional, iar atata vreme cit doctype-ul nu este corespunzator, degeaba am in el cod xml, el va fi randat ca html, atata vreme cit doctype-ul lui este html. Asta fac Firefox, opera si safari, cel putin asa scrie la specificatie.  Insa deoarece browserele sint facute sa functioneze in backward compatibility, se poate - si asta era ceea ce voiam sa aflu - sa treaca peste acest mic impediment si sa parseze totusi xml-ul ala corect. Cred ca nu, insa astept confirmarea inca.  Pentru ie oricum nu exista aceasta problema, intrucit el habar nu are sa randeze xhtml ca xml, el il trateaza ca pe un html.

Si eu nu ma refeream sa adauge doctype xhtml la fisierul xml extern, ci la fisierul html, care va fi randat si afisat in browser. E alta mincare de peste.
Oricum, intre timp am gasit rezolvarea: http://www.w3schools...mL/xml_dont.asp

#14
DarkAngelBv

DarkAngelBv

    === Proud owner of === ++++ Audi & Opel ++++

  • Grup: Senior Members
  • Posts: 12,747
  • Înscris: 24.03.2006
Se poate si mult mai simplu. Avand in vedere ca el are nevoie doar de o singura valoare bine delimitata, un preg_match in PHP isi face treaba de minune. si ar fi 3 linii de cod (1. File_get_contents, 2. preg_match, 3. echo :P )

#15
Pac_Man

Pac_Man

    Senior Member

  • Grup: Senior Members
  • Posts: 2,258
  • Înscris: 10.12.2001
Ok,

Cred ca varianta cea mai simpla, daca tot folosesti PHP, este cu SimpleXML (PHP 5)

mura-n gura :)

<?php>
	$continut_fisier = file_get_contents($nume_fisier);
	$xml = new SimpleXMLElement($continut_fisier);
	
	echo $xml->CURRENTLISTENERS;
?>


#16
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

View Postsergiu_spooky, on 25th August 2009, 13:36, said:

Vorbiți toți ciudățenii.
[...]
Încă ceva. Dacă IE7 face ceva nu înseamnă că așa ar trebui să facă toate browserele și se poate reproduce ușor. IE are tendința să facă multe lucruri fără să le vrei, dar asta e altă discuție.
Tu nu poți face ce vrei fără să transformi XML cu XSL sau să extragi valoarea aia cu regex.


Nu, nu vorbim ciudatenii, stai linistit.

Si nu am spus ca IE7 face bine ceea ce face, am spus ca o face cumva, voiam sa aflu DE CE o face si altii nu o fac, si cum as putea sa fac sa o faca si altii, si anume sa o faca corect.

Am aflat acum unde e buba cu facutul- vezi postul meu anterior.

#17
sergiu_spooky

sergiu_spooky

    Senior Member

  • Grup: Senior Members
  • Posts: 3,738
  • Înscris: 23.06.2006
Nu ai spus niciunde că ai un XML într-un HTML, decât acum 20 de minute. Chiar și așa, cum foarte bine spune darkangelbv, un preg_match rezolvă problema în trei linii de cod.

#18
Jumping Jack

Jumping Jack

    Member

  • Grup: Members
  • Posts: 622
  • Înscris: 12.09.2007

View Postsergiu_spooky, on 25th August 2009, 14:12, said:

Nu ai spus niciunde că ai un XML într-un HTML, decât acum 20 de minute. Chiar și așa, cum foarte bine spune darkangelbv, un preg_match rezolvă problema în trei linii de cod.

Da! Asa e... :peacefingers:
Acum vad ca am uitat sa specific asta mai devreme. Deci, da, paream ca vorbesc ciudatenii. Sorry! Oricum, acum e clar, sper.
Insa solutia lui DarkAngel mie nu mi-e de nici un folos, eu am partea de backend in ASP. Ceea ce face ca subiectul sa nu mai fie de domeniul meu, sa se spele pe cap altii cu problema, eu va trebui sa ma ocup de partea de frontend dupa ce va functiona peste tot la fel.
Dar oricum, nu e topicul meu, eu aici m-am cam agatat pasager clandestin.
Cheers.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate