1


0

ヘッダなしの出力XMLフラグメント

私は太っている気がしますが、これが私の問題です。

私はPHPを使って動的XMLツリーを作成しています。 これらのツリーは、従業員の階層、ファイルディレクトリなどを表します。 それらはWebページ上のコンテンツの小さなセクションで構成されています。 Webページの残りの部分は、SQLベース、静的テキスト、または特殊なプレゼンテーションクラスなど、さまざまな他のソースから接着されています。 ツリーを出力するときは、XMLを入れ子にした ``に変換します。

  1. それを出力したいのですが

Doctype /ヘッダー情報なし。 PHPのDomDocumentクラスとSimpleXMLクラスはこれを許可していないようです。 ``を格納した後に問題のある情報を取り除くための唯一のオプションです。

文字列で?

2 Answer


2


私が ``を入れたら判明

自動DOCTYPEを出力しなくなりました。 問題が解決しました。


0


このページの終わりにこれについてのコメントがあります:http://www.php.net/manual/en/libxml.constants.php

SimpleXMLは自動的にヘッダを追加します。 Simple 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を与え、そしてヘッダを持たない。