我目前使用以下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');
EG。在线表单中输入了两个电子邮件地址和两个名称,我希望每个人的详细信息都在一个单独的文件中。
客户1的姓名和电子邮件地址为cust1.xml
,客户2的姓名和电子邮件位于cust2.xml
答案 0 :(得分:0)
您可以重复使用$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原则。