DOM-Baum selbst erstellen

incsoft

Grünschnabel
Hallo,

in einem Algo möchte ich gerne einen DOM-Baum aufbauen. Wie erstelle ich nun den DOM-Baum (die meisten Beispiele senden eine Anfrage an einen Server und dort bekommt man den Baum per reponseXML schon automatisch zurück, bei mir soll aber kein Request gesendet werden)? Danach möchte ich den Baum gerne manipulieren, d.h. Elemente einfügen und ihn schlussendlich in XML serialisieren.

Hier mein Vorhaben in Pseudo-Code:

Code:
//Baum erstellen und "befüllen"
var dombaum = new DOMBaum("dokumentElement");
var dok = dombaum.getDocument();
var dataNode = dok.createElement("data");
var dokEl = dombaum.getDocumentElement();
dokEl.appendChild(dataNode);

//Baum ausgeben in XML
alert(dombaum.toXMLString());

//Das resultierende XML-Dokument sollte dann so aussehen:
<?xml version="1.0" encoding="iso-8859-1"?>
<dokumentElement>
  <data />
</dokumentElement>

Geht so etwas? Wenn ja, wie?

Vielen Dank,

inci
 
Ja, es geht...z.B. so:
Code:
function DOMBaum(strRootNode)
{
  this.xmlDoc=false;
  this.strRootNode='<'+strRootNode+'></'+strRootNode+'>';

  if(window.DOMParser)
    {
      this.xmlDoc=(new DOMParser()).parseFromString(this.strRootNode, "text/xml");
    }
  else if(window.ActiveXObject)
    {
      this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      this.xmlDoc.loadXML(this.strRootNode);
    }
  else
    {
      alert('Nix geht');
    }
    
  this.getDocument=function()
    {
      return this.xmlDoc;
    }
    
  this.getDocumentElement=function()
    {
      return this.xmlDoc.documentElement;
    }
    
  this.toXMLString=function()
    {
      return (window.XMLSerializer)
                ? new XMLSerializer().serializeToString(this.xmlDoc)
                : this.xmlDoc.xml
    }
}
 

Neue Beiträge

Zurück