paraxeMedlem sedan apr. 2004298 inlägg
Hej.
Har denna xml-fil som jag vill plocka ut värdet ur noden; <definition id="22">värde</definition>
http://www.regelratt.se/definitions.xml
Där attributet id är ett värde.
Har kommit så lång att jag nog laddar xml-dokumentet.
function importXML()
{
if (document.implementation && document.implementation.createDocument)
{
xmlDoc = document.implementation.createDocument("", "", null);
}
else if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else
{
alert('Your browser can\'t handle this script');
return;
}
xmlDoc.load("/rrs/inc/definitions.xml");
}
Hade tänkt mig en loop i en function som matchar att argument med id attributet.
Någon som känner sig frisk nog att hjälpa till?
paraxeMedlem sedan apr. 2004298 inlägg
Hade tänkt mig nåt sånt här:
function myFunction2(id)
{
importXML();
var toReturn;
var xml_doc = xmlDoc.getElementsByTagName("definitions");
var i;
var elems = xml_doc;
for (i = 0; i < elems.length; i++)
{
element = elems.item[i];
attr = element.getAttribute("id");
if(attr == id)
toReturn = element.getAttribute("word");
}
return toReturn;
}
Men inget returneras, buhuuu :(
Mvh
Pär
paraxeMedlem sedan apr. 2004298 inlägg
Okej, nu har jag fått det att fungerar med IE.
var xmlDoc
function loadXML()
{
//load xml file
// code for IE
if (window.ActiveXObject)
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.load("inc/definitions.xml");
}
// code for Mozilla, etc.
else if (document.implementation &&
document.implementation.createDocument)
{
xmlDoc= document.implementation.createDocument("","",null);
xmlDoc.load("inc/definitions.xml");
}
else
{
alert('Your browser cannot handle this script');
}
}
function testing(id)
{
loadXML();
var toReturn;
var i;
for(i=0; i < xmlDoc.documentElement.childNodes.length; i++)
{
if(xmlDoc.documentElement.childNodes(i).getAttribute("id") == id)
{
toReturn = HtmlDecode(xmlDoc.documentElement.childNodes(i).text);
}
}
return toReturn;
}
Men när jag kör med FF så får jag felmeddelande:
xmlDoc.documentElement has no properties
Någon som har en aning om vad som kan vara fel?
Mvh
Pär
Peter SMedlem sedan dec. 20025 484 inlägg
Testa:
window.onload = loadXML;
function testing(id)
{
var toReturn;
var i;
var elms = xmlDoc.getElementsByTagName("definition");
for(i=0; i < elms.length; i++)
{
if(elms[i].getAttribute("id") == id)
{
return HtmlDecode(elms[i].childNodes[0].nodeValue);
}
}
return null;
}
paraxeMedlem sedan apr. 2004298 inlägg
Nu är jag nöjd med dig Peter S, du kan din javascript!!
Danke!!!