Liebe Mitdenker, liebe Wissende, liebe Neugierige,
ja!
habe einen Fehlerpfad gefunden.
Wenn man dieselbe vorbereitete newNode innerhalb eines Durchlaufes erst für insertBefore() und anschließend für appenChild() verwendet, gewinnt der letzte INSERT, also das appenChild(). Das muss ich freilich noch genauer untersuchen, aber es wird augenscheinlich nicht mit dem Muster der neunen Node gearbeitet, sondern mit dem Original.
Hier folgt der Teil 2 des Ergebnisses. In ein Posting hat das leider nicht reingepasst
Das Ergebnis des Skriptes auf dem Screen:
DOMElement Object
(
[tagName] => tr
[schemaTypeInfo] =>
[nodeName] => tr
[nodeValue] => 1-1-Eins
1-1-Zwei
1-1-Drei
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => tr
[baseURI] =>
[textContent] => 1-1-Eins
1-1-Zwei
1-1-Drei
)
DOMElement Object
(
[tagName] => td
[schemaTypeInfo] =>
[nodeName] => td
[nodeValue] => 1-1-Eins
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => td
[baseURI] =>
[textContent] => 1-1-Eins
)
DOMElement Object
(
[tagName] => td
[schemaTypeInfo] =>
[nodeName] => td
[nodeValue] => Ich bin die erste neue Node
[nodeType] => 1
[parentNode] => (object value omitted)
[childNodes] => (object value omitted)
[firstChild] => (object value omitted)
[lastChild] => (object value omitted)
[previousSibling] =>
[nextSibling] => (object value omitted)
[attributes] => (object value omitted)
[ownerDocument] => (object value omitted)
[namespaceURI] =>
[prefix] =>
[localName] => td
[baseURI] =>
[textContent] => Ich bin die erste neue Node
)
DOM Document
/html
/html/head
/html/head/meta
/html/head/meta/#attrib[http-equiv]: content-type
/html/head/meta/#attrib[content]: text/html; charset=utf-8
/html/head/title
/html/head/title/#text: DomDocument
/html/head/link
/html/head/link/#attrib[rel]: stylesheet
/html/head/link/#attrib[type]: text/css
/html/head/link/#attrib[href]: style.css
/html/head/style
/html/head/style/#attrib[type]: text/css
/html/head/style/#cdata: body {
font-family: century gothic, sans-serif;
}
img {
border: 1px solid blue;
padding: 5px;
background-color: #30C060;
}
table {
border: 1px solid #000000;
padding: 3px;
border-collapse: collapse;
cell-spacing: 0;
}
td {
border: 1px dotted #000000;
padding: 3px;
}
/html/body
/html/body/#comment: BEGINN Einleitungstext
/html/body/#text: Hallo, hier steht Text
in zwei Zeilen mit Umbruch
/html/body/#comment: ENDE Einleitungstext
/html/body/div
/html/body/div/#attrib[id]: main
/html/body/div/div[1]
/html/body/div/div[1]/#attrib[id]: left
/html/body/div/div[1]/p
/html/body/div/div[1]/p/#attrib[class]: rot
/html/body/div/div[1]/p/#text: Ich bin 1
/html/body/div/div[2]
/html/body/div/div[2]/#attrib[id]: center
/html/body/div/div[2]/h1
/html/body/div/div[2]/h1/#text: Ich bin 2
/html/body/div/div[3]
/html/body/div/div[3]/#attrib[id]: right
/html/body/div/div[3]/img
/html/body/div/div[3]/img/#attrib[src]: harzhexe.jpg
/html/body/div/div[3]/img/#attrib[alt]: Harzhexe
/html/body/div/a
/html/body/div/a/#attrib[href]: standard.doc.html
/html/body/div/a/#attrib[title]: hier klicken
/html/body/div/a/#text: Hier klicken
/html/body/table[1]
/html/body/table[1]/#attrib[id]: t001
/html/body/table[1]/tr[1]
/html/body/table[1]/tr[1]/#attrib[id]: t001-tr001
/html/body/table[1]/tr[1]/td[1]
/html/body/table[1]/tr[1]/td[1]/#attrib[class]: saldo
/html/body/table[1]/tr[1]/td[1]/#text: Ich bin die erste neue Node
/html/body/table[1]/tr[1]/td[2]
/html/body/table[1]/tr[1]/td[2]/#attrib[class]: c1
/html/body/table[1]/tr[1]/td[2]/#text: 1-1-Eins
/html/body/table[1]/tr[1]/td[3]
/html/body/table[1]/tr[1]/td[3]/#text: 1-1-Zwei
/html/body/table[1]/tr[1]/td[4]
/html/body/table[1]/tr[1]/td[4]/#attrib[class]: c1
/html/body/table[1]/tr[1]/td[4]/#text: 1-1-Drei
/html/body/table[1]/tr[1]/td[5]
/html/body/table[1]/tr[1]/td[5]/#attrib[class]: saldo
/html/body/table[1]/tr[1]/td[5]/#text: Ich bin die zweite neue Node
/html/body/table[1]/tr[2]
/html/body/table[1]/tr[2]/#attrib[id]: t001-tr002
/html/body/table[1]/tr[2]/td[1]
/html/body/table[1]/tr[2]/td[1]/#text: 1-2-Eins
/html/body/table[1]/tr[2]/td[2]
/html/body/table[1]/tr[2]/td[2]/#text: 1-2-Zwei
/html/body/table[1]/tr[2]/td[3]
/html/body/table[1]/tr[2]/td[3]/#text: 1-2-Drei
/html/body/br
/html/body/table[2]
/html/body/table[2]/#attrib[id]: t002
/html/body/table[2]/tr
/html/body/table[2]/tr/#attrib[id]: t002-tr001
/html/body/table[2]/tr/td[1]
/html/body/table[2]/tr/td[1]/#text: 2-2-Eins
/html/body/table[2]/tr/td[2]
/html/body/table[2]/tr/td[2]/#text: 2-2-Zwei
/html/body/table[2]/tr/td[3]
/html/body/table[2]/tr/td[3]/#text: 2-2-Drei
Die Ergebnisdatei:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>DomDocument</title>
<link rel="stylesheet" type="text/css" href="style.css">
<style type="text/css">
body {
font-family: century gothic, sans-serif;
}
img {
border: 1px solid blue;
padding: 5px;
background-color: #30C060;
}
table {
border: 1px solid #000000;
padding: 3px;
border-collapse: collapse;
cell-spacing: 0;
}
td {
border: 1px dotted #000000;
padding: 3px;
}
</style>
</head>
<body>
<!-- BEGINN Einleitungstext -->
Hallo, hier steht Text
in zwei Zeilen mit Umbruch
<!-- ENDE Einleitungstext -->
<div id="main">
<div id="left"><p class="rot">Ich bin 1</p></div>
<div id="center"><h1>Ich bin 2</h1></div>
<div id="right"><img src="harzhexe.jpg" alt="Harzhexe"></div>
<a href="standard.doc.html" title="hier klicken">Hier klicken</a>
</div>
<table id="t001">
<tr id="t001-tr001">
<td class="saldo">Ich bin die erste neue Node</td>
<td class="c1">1-1-Eins</td>
<td>1-1-Zwei</td>
<td class="c1">1-1-Drei</td>
<td class="saldo">Ich bin die zweite neue Node</td>
</tr>
<tr id="t001-tr002">
<td>1-2-Eins</td>
<td>1-2-Zwei</td>
<td>1-2-Drei</td>
</tr>
</table>
<br><table id="t002"><tr id="t002-tr001">
<td>2-2-Eins</td>
<td>2-2-Zwei</td>
<td>2-2-Drei</td>
</tr></table>
</body>
</html>
Jetzt stört mich nur noch die dusselige Formatierung in der Ergebnisdatei. Da werden doch einige Whitespaces vernichtet, wo wi noch benötigt wurden. Aber das hat ja zum Glück keinen Einfluss auf die Funktionalität.
Spirituelle Grüße Euer Robert
Möge der Forumsgeist wiederbelebt werden!