Avatar billede mikoalngelo Nybegynder
29. juni 2002 - 11:54 Der er 14 kommentarer og
1 løsning

XML - Hvad er der i vejen her?

Jeg har ingen anelse om hvorfor dette ikke virker

--------I PersonKarak.htm--------

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"/>
<html>
<head>
<script type="text/javascript">
a = 50
function Opdat(){
    if (a < 150){
        document.getElementById('opdat').style.width = a;
        a++
        setTimeout("Opdat();", 1);
    }
}
</script>
<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("PersonKarak.xml")
nodes=xmlDoc.documentElement.childNodes
x=xmlDoc.recordset
</script>

    <title>Personkarakteristik</title>
<meta name="Generator" content="Stone's WebWriter 4 BETA 1">
</head>
<body bgcolor="#000000" text="#FFFF00" link="#FFFF00" vlink="#FFFF80" alink="#FF0000">

<xml id="Prsnrn" src="PersonKarak.xml"></xml>
<div id="opdat" style="width:50;height:15;font-size:12px;overflow:hidden;cursor:hand;" onclick="Opdat()"><!-- WebWriter AutoDato -->Opdateret d. 29.6.2002 11:53:51<!-- WW --></div>

<script type="text/javascript">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load("PersonKarak.xml")
nodes=xmlDoc.documentElement.childNodes
x=xmlDoc.recordset
//for (a = 1; a < x.recordcount; a++){
    document.write('<DL datasrc="#Prsnrn">')
        document.write('<DT>')
            document.write(nodes.item(1).text)
        document.write('</DT>')
        document.write('<DD>')
            document.write(nodes.item(1).text + '<br/>')
            document.write(nodes.item(2).text + '<br/>')
            document.write('<A href="#######################" onclick="alert(\'' + nodes.item(1).text + '\')return false;">Klik her for at se ' + nodes.item(0).text + '\'s identitet</A><br/>')
            document.write(nodes.item(2).text + '<br/>')
        document.write('</DD>')
    document.write('</DL>')
//}
</script>
<!--
<hr SIZE="3"/>
<table border="0" datasrc="#Prsnrn">
<tr>
    <td><DL>
    <DT>
        <span datafld="navn"></span>
    </DT>
    <DD>
        <span datafld="kon"></span><br/>
        <span datafld="kollegium"></span><br/>
        <span datafld="identitet"></span><br/>
        <span datafld="se_ogsa"></span><br/>
    </DD>
</DL></td>
</tr>
</table>
-->
</body>
</html>

--------I PersonKarak.xml--------

<?xml version="1.0" encoding="windows-1252" ?>
<!-- <?xml-stylesheet type="text/css" href="PersonKarak.css"?>
<title>PersonKarak.xml</title> --><!-- Minus AutoDato -->

<personerne>
    <person>
        <navn>Harry Potter</navn>
        <kon>ht</kon>
        <kollegium>th</kollegium>
        <identitet>th</identitet>
        <se_ogsa>htth</se_ogsa>
    </person>
    <person>
        <navn>g</navn>
        <kon>g</kon>
        <kollegium>g</kollegium>
        <identitet>g</identitet>
        <se_ogsa>h</se_ogsa>
    </person>
    <person>
        <navn></navn>
        <kon></kon>
        <kollegium></kollegium>
        <identitet></identitet>
        <se_ogsa></se_ogsa>
    </person>
</personerne>
Avatar billede =maddog= Nybegynder
30. juni 2002 - 05:14 #1
du ser ud til at gentage en masse der er overflødigt.
Det virker da vist fint nok, men jeg ved ikke rigtig, hvad det er du vil med det.
Dit nodes array indeholder et array af person objekter. Mon ikke du mener
nodes[0].childNodes[1].firstChild.nodeValue
istedet nodes.item(1) osv. Bare et skud i tågen.
Avatar billede =maddog= Nybegynder
30. juni 2002 - 06:09 #2
<script type="text/javascript">
var ns_moz_xml = (document.implementation && document.implementation.createDocument)?true:false;
var ie_xml = (window.ActiveXObject)?true:false;

if (ns_moz_xml || ie_xml) {
  if (ns_moz_xml) var xmlDoc = document.implementation.createDocument("", "", null);
  else if (ie_xml) var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.load("PersonKarak.xml");
  nodes=xmlDoc.getElementsByTagName('person');
//  nodes=xmlDoc.documentElement.childNodes;
  for (a = 0; a != nodes.length; a++){
        document.write('<DL>' +
                            '<DT>'+nodes[a].childNodes[0].firstChild.nodeValue+'</DT>'+
                            '<DD>'+nodes[a].childNodes[1].firstChild.nodeValue + '<br/>'+
                                  nodes[a].childNodes[2].firstChild.nodeValue + '<br/>'+
                                    '<A href="#######################" onclick="alert(\'' + nodes[a].childNodes[0].firstChild.nodeValue + '\');return false;">Klik her for at se ' + nodes[a].childNodes[0].firstChild.nodeValue + '\'s identitet</A><br/>'+
                                    nodes[a].childNodes[3].firstChild.nodeValue + '<br/>'+
                                    nodes[a].childNodes[4].firstChild.nodeValue + '<br/>'+
                            '</DD>'+
                        '</DL>');
    }
}
</script>

Sådan noget lignende eller hvad?
Det virker ikke i NS/Moz selvom jeg prøvet at tage højde for det. ANER ikke hvorfor, for koden skulle være skarp nok. Du må leve uden. (Snøft).
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 10:32 #3
Pyt med det. Jeg tjekker lige om det virker...
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 10:37 #4
Nixen, det virker ikke. Jeg har lige slettet text-ombrydningen, men fejlen er stadigvæk:
43,9
Object required
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 10:37 #5
Jeg skrev:
<script type="text/javascript">
var ns_moz_xml = (document.implementation && document.implementation.createDocument)?true:false;
var ie_xml = (window.ActiveXObject)?true:false;

if (ns_moz_xml || ie_xml) {
  if (ns_moz_xml) var xmlDoc = document.implementation.createDocument("", "", null);
  else if (ie_xml) var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.load("PersonKarak.xml");
  nodes=xmlDoc.getElementsByTagName('person');
//  nodes=xmlDoc.documentElement.childNodes;
  for (a = 0; a != nodes.length; a++){
        document.write('<DL>' + '<DT>'+nodes[a].childNodes[0].firstChild.nodeValue+'</DT>'+ '<DD>'+nodes[a].childNodes[1].firstChild.nodeValue + '<br/>' + nodes[a].childNodes[2].firstChild.nodeValue + '<br/>'+ '<A href="#######################" onclick="alert(\'' + nodes[a].childNodes[0].firstChild.nodeValue + '\');return false;">Klik her for at se ' + nodes[a].childNodes[0].firstChild.nodeValue + '\'s identitet</A><br/>' + nodes[a].childNodes[3].firstChild.nodeValue + '<br/>' + nodes[a].childNodes[4].firstChild.nodeValue + '<br/>' + '</DD>' + '</DL>');
    }
}
</script>
Avatar billede =maddog= Nybegynder
30. juni 2002 - 10:44 #6
Altså jeg ville jo ikke poste det, hvis det ikke virkede på min maskine!
Prøv at se om det her virker
http://www.dsr.kvl.dk/~maddog/experten/something.html
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 10:57 #7
Hvad laver den der <![CDATA[  ]]> i xml-filen, og når man klikker på identitets-linket står navnet der, ikke det i koden identitet i xml-filen :(
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 11:00 #8
Hvilken browser bruger du?
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 11:05 #9
Jo, DET her virker:

html:

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"/>
<html>
<head>
<script type="text/javascript">

a = 50
function Opdat(){
    if (a < 150){
        document.getElementById('opdat').style.width = a;
        a++;
        setTimeout("Opdat();", 1);
    }
}

</script>
<!-- Minus AutoDato -->
    <title>Personkarakteristik</title>
<meta name="Generator" content="Stone's WebWriter 4 BETA 1">
</head>
<body bgcolor="#000000" text="#FFFF00" link="#FFFF00" vlink="#FFFF80" alink="#FF0000">

<div id="opdat" style="width:50;height:15;font-size:12px;overflow:hidden;cursor:hand;" onclick="Opdat();">Opdateret d. 29.6.2002 11:53:51</div>

<script type="text/javascript">
var ns_moz_xml = (document.implementation && document.implementation.createDocument)?true:false;
var ie_xml = (window.ActiveXObject)?true:false;

if (ns_moz_xml || ie_xml) {
  if (ns_moz_xml) var xmlDoc = document.implementation.createDocument("", "", null);
  else if (ie_xml) var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.load("PersonKarak.xml");
  nodes=xmlDoc.getElementsByTagName('person');
//  nodes=xmlDoc.documentElement.childNodes;
  for (a = 0; a != nodes.length; a++){
        document.write('<DL>' +
                            '<DT>'+nodes[a].childNodes[0].firstChild.nodeValue+'</DT>'+
                            '<DD>'+nodes[a].childNodes[1].firstChild.nodeValue + '<br/>'+
                                  nodes[a].childNodes[2].firstChild.nodeValue + '<br/>'+
                                    '<A href="#######################" onclick="alert(\'' + nodes[a].childNodes[3].firstChild.nodeValue + '\');return false;">Klik her for at se ' + nodes[a].childNodes[0].firstChild.nodeValue + '\'s identitet</A><br/>'+
                                    nodes[a].childNodes[4].firstChild.nodeValue + '<br/>'+
                            '</DD>'+
                        '</DL>');
    }
}
</script>

</body>
</html>

xml:

<!-- Minus AutoDato -->
<?xml version="1.0" encoding="utf-8"?>
<!--

-->

<personerne>
    <person>
        <navn>Harry Potter</navn>
        <kon>dreng</kon>
        <kollegium>Gryffindor</kollegium>
        <identitet>Identiteten</identitet>
        <se_ogsa>Hermione Granger, Ron Weasley</se_ogsa>
    </person>
    <person>
        <navn>g</navn>
        <kon>g</kon>
        <kollegium>g</kollegium>
        <identitet>g</identitet>
        <se_ogsa>h</se_ogsa>
    </person>
    <person>
        <navn>r</navn>
        <kon>r</kon>
        <kollegium>r</kollegium>
        <identitet>r</identitet>
        <se_ogsa>r</se_ogsa>
    </person>
  <![CDATA[
      CDATA section text
  ]]>
</personerne>
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 11:07 #10
Kom nu med at svar, =maddog=!!!
Avatar billede =maddog= Nybegynder
30. juni 2002 - 11:11 #11
AAAAhhhh ja. Du må aldrig forsøge at hente en node der ikke er der. Du må altså ikke have tomme felter i XML filen uden at tage højde for det i JScript koden. Derfor bankede jeg r ind i den sidste <person>. Skulle jeg lige have tænkt på.
CDATA feltet er der bare fordi jeg lavede filen igen fra en template. Aner ikke hvad det skal, da jeg selv lige er begyndt at kigge på XML.
Hvis det virker kunne jeg godt tænke mig et par points :D
Avatar billede mikoalngelo Nybegynder
30. juni 2002 - 11:24 #12
Jamen værsågod da. Og da lærte jeg noget, der IKKE stod i tutorialen på www.w3schools.com. Takker
Avatar billede =maddog= Nybegynder
30. juni 2002 - 11:26 #13
takker og bukker. ville ønske at jeg kunne få det til at virke i Moz også. Fatter ikke at det ikke duer.
Avatar billede =maddog= Nybegynder
01. juli 2002 - 14:59 #14
for the record: jeg har fundet ud af hvorledes i NS. det er lidt omstændigt, men jeg kan godt lige rifle det af hvis du vil. jeg gider ikke hvis du er ligeglad.
Avatar billede mikoalngelo Nybegynder
01. juli 2002 - 16:23 #15
Så gider du ikke... :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester