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 メーリングリストの案内