2017-06-28 38 views
0

投稿リクエストで送信するXML文字列を作成する必要があります。私は同じのxmlを作成するPHPSimpleXMLElementライブラリを使用しています。SimpleXMLElementを使用して自己終了タグを作成する

タグの1つを自己閉じとしてネストしたxmlを作成したいとします。

これまでのところ、私は

$envelop = new SimpleXMLElement("<Envelope></Envelope>"); 
$body = $envelop->addChild('Body'); 
. 
. 
. 
. 
$envelop->asXML(); // Gives me proper XML 

を次のように要素は、私が今SimpleXMLElement要素を使用して達成したいどのような属性や子供を持つタグを作成しているが、自己終了タグです。

<Envelope> 
<Body> 
    <ExportList> 
    <LIST_ID>234234</LIST_ID> 
    <EXPORT_TYPE>ALL</EXPORT_TYPE> 
    <EXPORT_FORMAT>CSV</EXPORT_FORMAT> 
    <ADD_TO_STORED_FILES/>     < -- Target Tag --> 
    <DATE_START>07/25/2003 12:12:11</DATE_START> 
    <DATE_END>09/30/2005 14:14:11</DATE_END> 
    </ExportList> 
</Body> 
</Envelope> 

ソリューションとドキュメントを検索しました。しかし、私はこの解決策を見つけることができませんでした。誰かが上記の作業を達成するのを助けることができれば、是非。

また、私はDOMElementを使用して解決策を得ていますが、私はそれを使用することに興味がないので、私はアプリケーション全体を書き直す必要があります。これがSimpleXMLElementを使用して達成できるかどうかお知らせください。

答えて

0

私は頭の中で頭を悩ませていましたが、最終的にはとても簡単でした。どこにも言及されていませんでしたが、私は親タグに第2パラメータのないタグを追加しようとしました。そのような単純な(XMLElemet):

$envelop = new SimpleXMLElement("<Envelope></Envelope>"); 
$body = $envelop->addChild('Body'); 
$exportList = $body->addChild('ExportList'); 
$exportList->addChild('LIST_ID', 234234); 
$exportList->addChild('ADD_TO_STORED_FILES'); // passing nothing 
. 
. 
. 
$envelop->asXML(); 

結論:データなしとのリーフノードのであれば基本的に、それは 自己閉鎖として作成されますP以下

はコードです。

ここで、非自己閉鎖タグを使用してリーフノードを作成する方法を確認する必要があります。それはもう一つの質問です。しかし後で:)

今のところ私は完了です!

関連する問題