gpt4 book ai didi

php - for循环将两个相似的条目放入php的一个循环中

转载 作者:行者123 更新时间:2023-11-30 00:08:49 25 4
gpt4 key购买 nike

我编写了一段代码,根据该代码,我可以根据记录数将一个 XML 文件写入多个 XML 文件。

我在一个 XML 文件中有 14 条记录,在 XML 文件中具有不同的标签。

我正在尝试创建每个有 2 条记录的 XML 文件,所以最终我应该有 7 个 XML 文件。

但我只收到 14 个文件,每个文件都有两个相似的记录。

以下是我的 XML 格式,它是动态创建的。格式正确。但每个文件中都有两个相似的条目。因此,它写入了 14 个文件,而不是 7 个文件。

<?xml version="1.0"?>
<data>
<Product>
<PID>SGLDN7XJ2FPZH8G8</PID>
<PNAME>Miami Blues Aviator Sunglasses</PNAME>
</Product>
</data>

以下是我正在制作 XML 文件的文件。我认为初始化 for 循环有问题:

$docOutput = new DOMDocument("1.0");

$root = $docOutput->createElement("data");
$docOutput->appendChild($root);

if (!$sxmlReading = simplexml_load_file('firstxml.xml')) {
throw new RuntimeException('Error reading XML file');
}

$x = 0;
foreach ($sxmlReading as $syn) {

for ($i = $x * 2; $i < ($x + 1) * 2; $i++) {

$id = $docOutput->createElement("PID");

$idText = $docOutput->createTextNode($syn->productId);
$id->appendChild($idText);

$title = $docOutput->createElement("PNAME");
$titleText = $docOutput->createTextNode($syn->productname);
$title->appendChild($titleText);

$book = $docOutput->createElement("Product");
$book->appendChild($id);
$book->appendChild($title);

$root->appendChild($book);

$docOutput->formatOutput = true;
echo "<xmp>" . $docOutput->saveXML() . "</xmp>";

$docOutput->save("xml$x.xml") or die("Error");

}
$x++;
}

请检查代码并突出显示我的错误...

最佳答案

它正在写入 14 个文件,因为您正在调用 DOMDocument::save()方法14次。

老实说,这对我来说更像是一个错字,我看不出有什么问题。 PHP 只是按照您编写的方式执行操作。

关于php - for循环将两个相似的条目放入php的一个循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24269156/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com