Fra text til xml dom i JS
Jeg har et problem vedr. noget JS / XML / TEXTfunction opretXMLID (se JS fil)
Jeg vil gerne kunne sende nogle tags ud til et hidden field
som jeg så gerne vil have et DOM'obj ud af ved kald "test2 = new XMLHandle(document.all['bexmlin']);" som selv kalder opretXMLID...
Det går sådan set også fint nok... men benytter jeg følgende :
newElement = oXML.createElement(id);
newElement.text = value;
i dette tilfælde bliver alle '<' & '>' lavet om til '<' & '>' hvilket jeg ikke kan brug til så meget...
Nogen som har et foreslag til hvordan man omsætter nogle tag til noget gyldigt XML man kan arbejde på ????
/KLA
################ HTML fil #####################
<html>
<head>
<SCRIPT src="besystem/XMLHandler.js"></SCRIPT>
<script>
function init()
{
try {
test2 = new XMLHandle(document.all['bexmlin']);
testX = new XMLHandle(document.all['bexmlin2']);
test2.addTag('benr','001');
test2.showXML();
test2.getTag('benr');
test2.getTag('benr2');
}
catch(e) {alert(e)}
}
</script>
</head>
<XML id="oXML"><Root></Root></XML>
<body onload="init();">
<input type="hidden" name="xmlin" value="">
<input type="hidden" name="xmlin2" value="<benr>003</benr>">
</body>
</html>
################ HTML fil #####################
################ JS fil #####################
function XMLHandle(xmlObj)
{
this.xmlObj = xmlObj;
this.addTag = addTag;
this.removeTag = removeTag;
this.setTag = setTag;
this.getTag = getTag;
this.showXML = showXML;
this.strXpath = "//Root/" + this.xmlObj.name;
opretXMLID(xmlObj.name,xmlObj.value)
}
function addTag(tagName, tagValue)
{
if (tagName == null || tagValue == null) throw ('001 tagname og eller tagvalue - mangler');
var newElement;
try
{
oNode = oXML.selectSingleNode(this.strXpath);
newElement = oXML.createElement(tagName);
newElement.text = tagValue;
oNode.appendChild(newElement);
}
catch(ex) { throw ('010 Mangler instans af XMLHandle'); }
}
function removeTag(tagName)
{
if (tagName == null) throw ('001 tagname - mangler');
}
function getTag(tagName)
{
if (tagName == null) throw ('001 tagname - mangler');
oNode = oXML.selectSingleNode(this.strXpath + "/" + tagName);
if (oNode == null) throw ('001 Tag findes ikke');
alert(oNode.text);
return oNode.text;
}
function setTag(tagName,tagValue)
{
if (tagName == null || tagValue == null) throw ('001 tagname og eller tagvalue - mangler');
}
function showXML()
{
oNode = oXML.selectSingleNode(this.strXpath);
alert(oNode.xml);
alert(oXML.xml);
}
function opretXMLID(id,value)
{
alert ('jubii');
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM")
xmlDoc.async="false"
xmlDoc.load(value)
alert(xmlDoc.xml);
//document.location(xmlDoc.documentElement.childNodes.item(0).text)
/*
newElement = oXML.createElement(id);
newElement.text = value;
alert(newElement.xml);
oXML.documentElement.appendChild(newElement);
*/
}
