質問

私は太っていると感じていますが、ここに私の問題があります:

PHPを使用して動的なXMLツリーを作成しています。これらのツリーは、従業員の階層、ファイルディレクトリなどを記述します。これらは、Webページ上のコンテンツの小さなセクションで構成されます。 Webページの残りの部分は、SQLベース、静的テキスト、または特別なプレゼンテーションクラスなど、さまざまなソースから接着されています。ツリーを出力するとき、XMLをネストされた<ul>に変換します。 doctype / header情報なしで<=>を出力したいと思います。 PHPのDomDocumentおよびSimpleXMLクラスはこれを許可していないようです。 <=>を文字列に保存した後に問題のある情報を取り除く唯一のオプションはありますか?

役に立ちましたか?

解決

<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);

もちろん、これはSimpleXmlオブジェクトを提供しませんが、少なくともそのxmlを提供し、ヘッダーを持ちません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top