ahykes
Erfahrenes Mitglied
Hallo Leutz,
ich versuche gerade per Javascript meine XML-Datei auszulesen und in einer Tabelle anzeigen. Das funktioniert wie folgt auch ganz gut:
Meine XML-Datei sieht wie folgt aus (is natürlich nur ein Auszug) :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<IPV>
<SYSTEM id="DE065-VIP-560">
<GERAET_NAME>DE065-VIP-560</GERAET_NAME>
<IP_ADRESSE>53.43.160.1</IP_ADRESSE>
<MAC_ADRESSE>003011021930<MAC_ADRESSE />
</SYSTEM>
</IPV>
Nun endlich zu meinem Problem / zu meiner Frage: Wie kann ich nun auf einen bestimmten Knoten mit der id XY zugreifen ohne vorher die ganze Datei durchorgeln zu müssen? Meiner Meinung nach muss das doch auch ohne den ganzen Overhead gehen, oder?
ich versuche gerade per Javascript meine XML-Datei auszulesen und in einer Tabelle anzeigen. Das funktioniert wie folgt auch ganz gut:
HTML:
function readXmlFileData(){
if (window.XMLHttpRequest) xmlDataObject = new window.XMLHttpRequest();
else xmlDataObject = new ActiveXObject("Microsoft.XMLHTTP");
if(xmlDataObject){
xmlDataObject.open("GET",'DATA/oisData.xml',false);
xmlDataObject.send("");
xmlDoc = xmlDataObject.responseXML;
}else alert('Could not initialize XMLHTTP-Object.\nNo Dataoperation can be done.');
if(!xmlDoc) {
alert("No Data found!");
}else{
var elementCount = xmlDoc.getElementsByTagName("SYSTEM").length;
for(i=0; i<elementCount; i++){
var xmlObject = xmlDoc.getElementsByTagName("SYSTEM")[i];
var basicTable = document.getElementById('data');
var newTableBody = document.createElement('tbody');
var newTableRow = document.createElement('tr');
//Gerätname----------------------------------------------------------------------------------
var newTableCell = document.createElement('td');
var xmlNode = xmlObject.childNodes[0];
if(xmlNode.hasChildNodes()) newTableCell.innerHTML = xmlNode.firstChild.nodeValue;
else newTableCell.innerHTML = ' ';
newTableRow.appendChild(newTableCell);
//IP-Adresse---------------------------------------------------------------------------------
var newTableCell = document.createElement('td');
var xmlNode = xmlObject.childNodes[1];
if(xmlNode.hasChildNodes()) newTableCell.innerHTML = xmlNode.firstChild.nodeValue;
else newTableCell.innerHTML = ' ';
newTableRow.appendChild(newTableCell);
//MAC-Adresse--------------------------------------------------------------------------------
var newTableCell = document.createElement('td');
var xmlNode = xmlObject.childNodes[2];
if(xmlNode.hasChildNodes()) newTableCell.innerHTML = xmlNode.firstChild.nodeValue;
else newTableCell.innerHTML = ' ';
newTableRow.appendChild(newTableCell);
newTableBody.appendChild(newTableRow);
basicTable.appendChild(newTableBody);
}
window.defaultStatus = elementCount + ' Recordsets in XML-File found';
}
}
Meine XML-Datei sieht wie folgt aus (is natürlich nur ein Auszug) :
<?xml version="1.0" encoding="ISO-8859-1" ?>
<IPV>
<SYSTEM id="DE065-VIP-560">
<GERAET_NAME>DE065-VIP-560</GERAET_NAME>
<IP_ADRESSE>53.43.160.1</IP_ADRESSE>
<MAC_ADRESSE>003011021930<MAC_ADRESSE />
</SYSTEM>
</IPV>
Nun endlich zu meinem Problem / zu meiner Frage: Wie kann ich nun auf einen bestimmten Knoten mit der id XY zugreifen ohne vorher die ganze Datei durchorgeln zu müssen? Meiner Meinung nach muss das doch auch ohne den ganzen Overhead gehen, oder?
Zuletzt bearbeitet: