Robert R.: CHAKKA! DOMDocument & Co. - insertBefore() - Teil 2

Beitrag lesen

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!
1 43

Gute HTML-Parser-Klasse gesucht

Robert R.
  • php
  1. 1
    1UnitedPower
    1. 2
      Robert R.
  2. 1
    Felix Riesterer
    1. 0
      Robert R.
  3. 1
    Mattes
    1. 1
      1UnitedPower
      1. 0
        Mattes
        1. 0
          1UnitedPower
        2. 0
          Robert R.
      2. 0
        Robert R.
        1. 0
          1UnitedPower
        2. 0
          Felix Riesterer
    2. 0
      Robert R.
      1. 0
        Mattes
  4. 0

    DOMDocument & Co. richtig anwenden

    Robert R.
    1. 0
      Robert R.
      1. 0
        dedlfix
        1. 0

          DOMDocument & Co. - grafische Darstellung erzeugen?

          Robert R.
          1. 0
            dedlfix
            1. 0

              DOMDocument & Co. - Beispiel gefunden, trotzdem Fragen

              Robert R.
              1. 0

                DOMDocument & Co. - Nodetype für <style>-Definitionen gesucht

                Robert R.
                1. 0

                  DOMDocument & Co. - CData-Node auseindernehmen

                  Robert R.
                  1. 0
                    dedlfix
                    1. 0
                      Robert R.
                      1. 0

                        DOMDocument & Co. - insertBefore()

                        Robert R.
                        1. 0

                          DOMDocument & Co. - insertBefore(), Nachtrag

                          Robert R.
                        2. 0
                          Felix Riesterer
                          1. 0
                            Robert R.
                            1. 0
                              Robert R.
                              1. 0

                                Chakka! DOMDocument & Co. - insertBefore() - Teil 1

                                Robert R.
                              2. 0

                                CHAKKA! DOMDocument & Co. - insertBefore() - Teil 2

                                Robert R.
                              3. 0

                                DOMDocument & Co. - nodeValue versa textContent

                                robertroth
                                1. 0
                                  dedlfix
                                  • html
                                  • php
                                  1. 0
                                    robertroth
                                    1. 0

                                      Zeilenumbrüche!

                                      robertroth
                                      • html
                                      • zu diesem forum
                                      1. 0
                                        dedlfix
                                    2. 0
                                      dedlfix
                                    3. 1
                                      Jnnbo
                                      • menschelei
                                      1. 0
                                        robertroth
                              4. 1

                                DOMDocument & Co. - Härte der Klasse: Test nicht bestanden

                                robertroth
                                • html
                                • php
                                1. 0
                                  dedlfix
                                  1. 0
                                    robertroth