簡體   English   中英

使用PHP生成兩個XML文件

[英]Generate two XML files using PHP

我目前使用以下PHP代碼從HTML頁面上的表單輸入生成XML文件(我使用$_POST ):

$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$doc->preserveWhiteSpace = true;
$doc->loadXML($xml->asXML(), LIBXML_NOBLANKS);
$doc->save('../application/'.$filefname.$filesname.'_'.date("Y-m-d").'.xml');

但是,我想生成兩個XML文件,每個文件具有不同的信息。 我是否需要做一些具有兩個變量的事情? 例如。 $xml1$xml2$doc1$doc2像這樣嗎?

$doc1 = new DOMDocument('1.0');
$doc1->formatOutput = true;
$doc1->preserveWhiteSpace = true;
$doc1->loadXML($xml1->asXML(), LIBXML_NOBLANKS);
$doc1->save('../application/'.$filefname.$filesname.'_'.date("Y-m-d").'.xml');

$doc2 = new DOMDocument('1.0');
$doc2->formatOutput = true;
$doc2->preserveWhiteSpace = true;
$doc2->loadXML($xml2->asXML(), LIBXML_NOBLANKS);
$doc2->save('../application/'.$filefname.$filesname.'_'.date("Y-m-d").'.xml');

例如。 在線表單中輸入了兩個電子郵件地址和兩個名稱,我希望每個人的詳細信息都放在單獨的文件中。 客戶1的名稱和電子郵件在cust1.xml以及客戶2的名稱和電子郵件在cust2.xml

您可以重用$doc變量。 為它分配一個新的DOMDocument$doc變量將指向新實例。

// $doc points to instance #1 of DOMDocument
$doc = new DOMDocument('1.0'); 

...

// $doc points to instance #2 of DOMDocument
$doc = new DOMDocument('1.0');

這同樣適用於所有引用類型,例如對象。

不要復制代碼,而應該創建一個函數

function createDocument($xml) {
    $doc = new DOMDocument('1.0');
    $doc->formatOutput = true;
    $doc->preserveWhiteSpace = true;
    $doc->loadXML($xml->asXML(), LIBXML_NOBLANKS);
    $doc->save('../application/'.$filefname.$filesname.'_'.date("Y-m-d").'.xml');
}

您應該始終避免代碼重復。 請參閱DRY原理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM