Hallo Steffen,
Beschränkung von XML?!
Ja, so scheint es. Ich habe folgendes probiert:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<script type="text/javascript">
[code lang=javascript]
function readXML(uri){
var xmlHttp = false;
if (typeof(XMLHttpRequest) != "undefined") {
try {
xmlHttp = new XMLHttpRequest();
} catch(e) {
xmlHttp = false;
}
}
if (!xmlHttp) {
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlHttp = false;
}
}
}
if (xmlHttp) {
xmlHttp.open("GET", uri, true);
xmlHttp.setRequestHeader('Cache-Control', 'no-cache');
xmlHttp.send(null);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
getXML(xmlHttp.responseXML);
getText(xmlHttp.responseText);
xmlHttp.abort();
}
};
}
}
function getXML(XMLObj){
document.getElementsByTagName("textarea")[0].value = XMLObj.getElementsByTagName("text")[0].firstChild.nodeValue;
alert(XMLObj.getElementsByTagName("text")[0].firstChild.nodeValue.length);
}
function getText(text){
document.getElementsByTagName("textarea")[1].value = text;
alert(text.length);
if(window.DOMParser) {
parser = new DOMParser();
xmlobject=parser.parseFromString(text,"text/xml");
alert(xmlobject.getElementsByTagName("text")[0].firstChild.nodeValue.length);
}
}
window.onload = function() { readXML("test.xml"); };
</script>
</head>
<body>
<textarea rows="25" cols="40"></textarea>
<textarea rows="25" cols="40"></textarea>
</body>
</html>
[/code]
Die XML-Datei sah einfach so aus, woebi text mehr als 5000 Zeichen enthält:
<?xml version="1.0" encoding="ISO-8859-1"?>
<root>
<text>aaaaaaaaaaaaaaaaaaaaaaaaa
....
aaaaaa</text>
</root>
Die alerts im FF:
4096 --> XML-Element => unvollständig
5288 --> String => vollständig
4096 --> String2XML => unvollständig
im Opera:
5006 --> XML-Element => vollständig
5288 --> String => vollständig
5006 --> String2XML => vollständig
Es gibt also nur ein Problem im Firefox, wobei er das vollsändige Dokument problemlos einlesen kann.
Mache ich etwas falsch?
Ich denke nein.
Mit freundlichem Gruß
Micha