Zurücklesen der Attribute aus XML

gianfranco0104

Erfahrenes Mitglied
Hi, habe mir ein kleines Tool geschrieben welches mir Informationen aus Einstellungen meiner HTML Lokal (Site bleibt Lokal) mit FSO in eine XML schreibt. Klappt auch perfekt, hier der Code:

Javascript:
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var fsoXML = new ActiveXObject("Scripting.FileSystemObject");
var FILENAME = 'C:\\cnc\\USER\\projdata\\wizard.xml'

function writeXMLWizConf() {
    var xmlfile = fsoXML.CreateTextFile(FILENAME, true);
    xmlfile.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n');
    xmlfile.WriteLine('<WizardConf>\n');
      //werte holen und eintragen
      xmlfile.Write('    <Confs ');
        xmlfile.Write('Projectname="' +  projektname_input.value + '"\n ');
        xmlfile.Write('Hub1="' + hub_1  + '"\n ');
            xmlfile.Write('dropdown_hub1_vc="' + "dropdown_hub1_vc();"  + '"\n ');
            xmlfile.Write('dropdown_hub1_sc="' + "dropdown_hub1_sc();"  + '"\n ');

      xmlfile.WriteLine('></Confs>\n');
     
    xmlfile.WriteLine('</WizardConf>\n');
    xmlfile.Close();   
}

ABER: das zurückholen will nicht. ich möchte die Werte erst mal (zum testen) in nem ALERT wieder ausgeben (dann kann ich sie später weiter verarbeiten). Ich erhalte jedoch in der Console die Meldung, dass das Objekt "getAttribute" die Eigenschaft oder Methode nicht unterstützt. Was mache ich falsch?

hier der Code für das Laden:
Javascript:
function loadXMLWizConf()
    {  
        var wizData = new Array();
        var xmlObj;
   
        xmlObj = FILENAME
       
        var tmpUsrs = new Array(xmlObj.getAttribute("Projectname"),
                                xmlObj.getAttribute("Hub1"),
                                    xmlObj.getAttribute("dropdown_hub1_vc"),
                                    xmlObj.getAttribute("dropdown_hub1_sc"));
       
        wizData.push(tmpUsrs);
alert(wizData)
    }
 
Hallo gianfranco0104

Javascript:
var FILENAME = 'C:\\cnc\\USER\\projdata\\wizard.xml'
xmlObj = FILENAME
xmlObj.getAttribute("Projectname")

Mit anderen Worten:
Javascript:
'C:\\cnc\\USER\\projdata\\wizard.xml'.getAttribute("Projectname")

Fehlt da nicht was?

/EDIT:
Wenn ich mich recht entsinne verwendest du ja eine eingebettete Version von Chromium. In dem Falle kannst du anstatt das ActiveXObject for XMLDOM auch die im Browser eingebettete Version DOMParser verwenden. Das verringert zumindest dem Umweg über das ActiveX-Objekt.

Siehe: http://www.w3schools.com/xml/xml_parser.asp

/EDIT 2:
Vergiss das was ich vorhin schrieb, wenn du ActiveX verwendest ist es offenbar nicht Chromium was du verwendest.

Viele Grüsse
Cromon
 
Zuletzt bearbeitet:
Hi, wie meinst du fehlt da was?
Nein, nutze eigentlich kein Chromium.
Eigentlich versuche ich nur die File wieder zu öffnen und in den Attributen meine Daten wieder herauszuholen. getAttribute hilft mir hier irgendwie nicht.

die XML schaut momentan so aus, wenn sie beschrieben wird:
Code:
<?xml version="1.0" encoding="utf-8"?>

<WizardConf>

    <Confs Projectname="ProjektnameX"
 Hub1="true"
dropdown_hub1_vc="dropdown_hub1_vc();"
dropdown_hub1_sc="dropdown_hub1_sc();"
></Confs>

</WizardConf>

und das muss nun wieder raus...
 
Habs rausgefunden.... hier der Code für das Öffnen (speichern funktioniert ja, s. Oben in meiner Frage):

Javascript:
function LoadXML(xmlFile)
    {
        xmlDoc.load(xmlFile);
        return xmlDoc.documentElement;
    }

function loadXMLWizConf()  //achtung usrCount geht so nicht mehr!!!!!
    { 
        var xmlObj = FILENAME;
        var Confs = new Array();
        var xmlObj;
        xmlObj = LoadXML(FILENAME);
      
        var attrCount = 0;
        while (attrCount < xmlObj.childNodes.length)
        {

        var tmpUsrs = new Array( xmlObj.childNodes(attrCount).getAttribute("Projectname"),
                                xmlObj.childNodes(attrCount).getAttribute("Hub1"),
                                    xmlObj.childNodes(attrCount).getAttribute("dropdown_hub1_vc"),
                                    xmlObj.childNodes(attrCount).getAttribute("dropdown_hub1_sc") );
        Confs.push(tmpUsrs);
        attrCount++;
        alert(Confs)
        }
    }
 

Neue Beiträge

Zurück