Avatar billede strikerdk Novice
18. marts 2008 - 12:19 Der er 8 kommentarer og
1 løsning

Trække et simpelt XML-dokument ind i HTML vha. JS

Hej Eksperter.

Sidder og slås lidt med at hive et simpelt XML-dokument ind i HTML - så teksten fra XMLén vises på siden.
Det er godt nok lavet i .NET - men princippet er det samme.
Når jeg render nedenstående, loader den 100%, men viser kun teksten der er skrevet i HTML. Jeg ønsker hele XML-filen udskrivet i browseren.

HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Mit javascript</title>
    <script src="getxml.js"></script>
</head>
<body>
    <form id="form1" runat="server">
      <div>
          Her burde XML-dokumentet vises:
      </div>
    </form>
</body>
</html>

nyfil.xml:

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


<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

getxml.js:

var xmlDoc;
if (window.ActiveXObject)
  {// code for IE
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  }
else if (document.implementation.createDocument)
  {// code for Firefox, Mozilla, Opera, etc.
  xmlDoc=document.implementation.createDocument("","",null);
  }
else
  {
  alert('Your browser cannot handle this script');
  }
xmlDoc.async=false;
xmlDoc.load("nyfil.xml");
Avatar billede olebole Juniormester
18. marts 2008 - 21:31 #1
<ole>

Der er ikke nogen visuel formatering knyttet til en XML-fil, så det er lidt usikkert, hvad det er, du vil  :)

1) Vil du vise koden, skrevet ud som XML-kode?
2) Vil du vise kodens data, formateret i HTML-elementer?

Hvis 2, hvordan skal data så formateres?

/mvh
</bole>
Avatar billede olebole Juniormester
18. marts 2008 - 21:34 #2
PS: Det er meget sandsynligt, din forms .net-tilknytning sætter begrænsninger for scripting mulighederne på dens indhold. Det er set i mange andre tråde, men det må vi se på, når vi finder ud af, hvad du vil - og kan foreslå en løsning  ;o)
Avatar billede strikerdk Novice
19. marts 2008 - 09:22 #3
Hej Ole - mødes vi igen :-)

Jeg ønsker at udskrive XML-filen som XML-kode.

Det vil jo være lidt skidt, hvis min .net tilknytning skaber problemer. Det er jo der jeg gerne vil hen og anvende det :-(
Avatar billede tjens Nybegynder
26. marts 2008 - 22:11 #4
Som olebole skriver vises XML ikke på skærmen: Der er jo tags p.g.a. af <xxx> indpakningen og disse er ugyldig HTML.

Men et textarea kan vise xml uden at forsøge at html-rendere.

Så et client side eksempel kunne se sådan ud:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Mit javascript</title>
<script src="getxml.js"></script>
</head>
<body>
    <form name="F1"><textarea name="TA1" rows="44" cols="111" readonly></textarea></form>
    <script>
        document.F1.TA1.value=xmlDoc.xml;
    </script>       
</body>
</html>
Avatar billede olebole Juniormester
26. marts 2008 - 22:15 #5
tjens >> Det er faktisk ikke rigtigt, selvom det uden tvivl virker de fleste steder. Du skal som minimum lave '<' om til '&lt;':
    document.F1.TA1.value=(xmlDoc.xml).replace(/\u003c/g, "&lt;");
Avatar billede strikerdk Novice
02. april 2008 - 15:02 #6
ups - der er hvis et spørgsmål der hænger her - det beklager jeg meget.

tjens og olebole - Jeg kan desværre ikke gennesmkue hvem der har ret i dette eksempel - så jeg er meget i tvivl om hvem jeg bør give pointene. det vil selvfølgelig være at foretrække, at resultatet virker overalt. :-)
Avatar billede strikerdk Novice
08. maj 2008 - 10:31 #7
Først til mølle for at lukke dette spørgsmål...
Avatar billede olebole Juniormester
08. maj 2008 - 22:09 #8
=)
Avatar billede olebole Juniormester
09. maj 2008 - 01:11 #9
Tak for points  =)
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