Mam kilka klas, w których korzystam z klasy DOMDocument. Kiedy dodaję fragment kodu (poprzez metodę saveXML()), na samym początku dodanego kodu mam deklarację:
  1. <?xml version="1.0" encoding="UTF-8"?>

Przez to walidator zwraca błąd - mówi, że taka deklaracja może pojawić się tylko na początku dokumentu. Rozumiem to i chcę, żeby klasa jej nie dodawała. I w u jest właśnie problem. Wiem, że można by było zrobić to prymitywnie przez funkcję str_replace, ale wolałbym jakieś bardziej fachowe rozwiązanie. Szukałem w manualu prze klasie DOMDocument, ale niczego nie znalazłem.
//edit
Problem już rozwiązany. Nie pomyślałem, aby poszukać w manualu funkcji saveXML. Wystarczy jako argument podać element, który chce się wyświetlić. Wtedy jest bez deklaracji.
Czyli:
  1. <?php
  2. $doc=new DOMDocument("1.0","UTF-8");
  3. $element=$doc->appendChild($doc->createElement("p"));
  4. //...
  5. print $doc->saveXML($element);
  6. ?>