문제
나는 내가 두껍다는 느낌이 들지만 여기 내 문제가 있습니다.
PHP를 사용하여 동적 XML 트리를 만들고 있습니다. 이 나무는 직원 계층, 파일 디렉토리 등을 설명합니다. 웹 페이지의 작은 컨텐츠 섹션으로 구성됩니다. 웹 페이지의 나머지 부분은 SQL 기반 또는 정적 텍스트 또는 일부 특별 프레젠테이션 클래스 일 수있는 다양한 다른 소스에서 함께 붙어 있습니다. 나무를 출력 할 때 XML을 중첩으로 변환합니다. <ul>
. 나는 그것을 출력하고 싶다 <ul>
DocType/헤더 정보가 없으면. PHP의 domdocument 및 simplexml 클래스는 이것을 허용하지 않는 것 같습니다. 저장 후 불쾌한 정보를 제거하는 유일한 옵션입니다. <ul>
문자열로?
해결책
내가 넣으면 밝혀졌다 <xsl:output method="html" />
더 이상 자동 DocType를 출력하지 않습니다. 문제 해결됨.
다른 팁
이 페이지 끝에 이것에 대한 의견이 있습니다.http://www.php.net/manual/en/libxml.constants.php
SimpleXML은 자동으로 헤더를 추가합니다. 간단한 XML 객체를 생성 할 때 꺼질 수있는 옵션이 있습니다 - libxml_noxmldecl이지만 작동하지 않습니다. 여전히 열린 버그가 있습니다. 위의 페이지 하단의 링크를 참조하십시오.
이것이 제가 결국 한 일입니다.
$doc = new DOMDocument('1.0');
$root = $doc->createElement('items');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode($item->title);
$text = $title->appendChild($text);
$items[] = $doc->saveXML($root);
물론 이것은 나에게 단순한 XML 객체를 제공하지 않지만 적어도 XML이 있고 헤더가 없습니다 ..