Re: [PHP-users 26931] Re: <?xml version="1.0"?>を出力させない方法
Yusuke Hata
nowel @ xole.net
2005年 9月 19日 (月) 00:35:58 JST
ハタです。
最後の saveXML() から戻される文字列に preg_replace() を利用してみるのはいかがでしょう?
こんな感じで
echo preg_replace('/\<\?xml.+\?\>/', "", $dom->saveXML());
# 実はこういうことではない(?)
05/09/18 に fan charlie<fan_charlie @ hotmail.com> さんは書きました:
> チャーリーです
>
> 補足です:
>
> 今回作成しようとしたスクリプトはWindows Media サービス9シリーズに使用される
> 再生リストを出力するためのプログラムです。
> この再生リストはSMIL (Synchronized Multimedia Integration Language) 2.0 言語
> 仕様に基づいた XML (Extensible Markup Language) ドキュメントです。
> 一行目の宣言文は<?wsx version="1.0"?>でなければなりません。
> 提示したソースでは、一行目は<?xml version="1.0"?>になってしまいました。
>
> >2. $str = '<?wsx version="1.0"?>';
> >3. $str .= '<smil></smil>';
> >4. $dom = new domDocument();
> >5. $dom->formatOutput = true;
> >6. $dom->loadXML($str);
>
> 当初、上記の処理部分は指定した宣言文を出力できると思っていたが、結果として、
> 下記のような
> ドキュメントが出力された。
>
> ><?xml version="1.0"?>
> ><?wsx version="1.0"?>
> ><smil>
> > <seq>
> > <media noSkip="true" src="media_path0" mediaName="mediaName0">
> > <clientData title="TITLE0"/>
> > </media>
> > <media noSkip="true" src="media_path1" mediaName="mediaName1">
> > <clientData title="TITLE1"/>
> > </media>
> > <media noSkip="true" src="media_path2" mediaName="mediaName2">
> > <clientData title="TITLE2"/>
> > </media>
> > </seq>
> ></smil>
> >
> この<?xml version="1.0"?>を出力させない方法の情報を求めます。
> 皆さん、よろしくお願いいたします。
>
--
Yusuke Hata <nowel @ xole.net>
blog: http://blog.xole.net/
PHP-users メーリングリストの案内