誰かが私を正しい方向に向けてくれることを願っています。私は PHP アプリを作成しています。これは、基本的に約 10 ~ 15 個の xml フィードをプルし、それぞれに約 30 個のノードがあり、それぞれに異なる形式があり、さまざまなカテゴリにクラスター化されます。これまでのところ、XSLT を介して各フィードを標準化された形式 (xml 要素はすべての出力フィールドで標準化されています) に変換/マップするための php を作成することができました。簡単なインクルードを実行して、それらすべてをインクルードして単一のフィードを出力することができます。問題は、フィードがノードあたり 17 の要素を持つ約 400 ~ 500 ノードになり、ロードに永遠にかかることです。XMLReader/XMLWriter コマンドを試しましたが、XML Writer でエラーが発生しています。以下のコードを使用しています
$xml1 = new XMLReader();
$xml1->open('convert1.php');
$xml2 = new XMLReader();
$xml2->open('convert2.php');
$name = 'xmlroot';
$write = new XMLWriter();
$write->startElement($name);
これは私が得るエラーです:
Warning: XMLWriter::startElement() [xmlwriter.startelement]: Invalid or unitialized XMLWriter object in C:\wamp\www\mergetest\merge1.php on line 22
私のXMLは次のように構成されています:
<xmlroot>
<xmlnode>
<xmlelement></xmlelement>
</xmlnode>
</xmlroot>
PHP コードを変換します。
<?php
$xml = new DOMDocument();
$xml->load('xmlfeed');
$xsl = new DOMDocument;
$xsl->load('xsl.xsl');
$proc = new XSLTProcessor();
$proc->importStyleSheet($xsl);
echo $proc->transformToXML($xml);
私はまだPHPに慣れていないので、初心者の間違いや何かを含めていない場合は、炎上しないでください笑私はただ学ぼうとしています. PHPリファレンス/チュートリアルを見てみましたが、役に立たないようです。