我希望有人能指出我正确的方向。我正在编写一个 PHP 应用程序,它基本上会提取大约 10-15 个 xml 提要,每个提要大约有 30 个节点,格式不同,然后将它们聚集到各种类别中。到目前为止,我能够编写一段 php 来通过 XSLT 将每个提要转换/映射为标准化格式(xml 元素在所有输出字段中都是标准化的)。我可以做一个简单的包含并将它们全部包含以输出单个提要,问题是提要现在大约有 400-500 个节点,每个节点有 17 个元素,并且需要永远加载。这就是我卡住的地方,我尝试了 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 参考/教程,但似乎没有帮助。