CSVファイルからfgetcsvを使って多次元配列を作成しました。PHPからXMLへの配列
DOMDocumentとSimpleXMLの両方を使用して、私はCSVドキュメントのXMLファイルを作成しようとしています。
配列変数とXML変数が同じクラスファイル内の関数に渡されています。 XML文書は問題なく作成されていますが、配列からXMLに値が渡されることはありません。それは私が配列からprint_r配列と構造体と値がすべて正しい場合は、値を渡すことに反対する静的な値を使用してそれを動作します。
XMLに値を渡す前に 'htmlspecialcharacters'と 'encode_UTF8'を試しました。
コードの例を以下に示します。productは多次元配列です。
public function array_to_xml($product, &$xml)
{
foreach($product as $row)
{
$element = $xml->createElement("Product");
$xml->appendChild($element);
$element = $xml->createElement("ID", ($row[38]));
$xml->appendChild($element);
}
}
明らかに問題はアレイですが、私は答えを見つけることができません。どんな助けでも感謝しています。
現在、出力は(IDエレメントの値ではない)ように見えます。一度それが働いている製品は約20の子要素を持っています。
<?xml version="1.0"?>
<ProductList/>
<Product>
<ID/>
</Product>
</ProductList>
$行の例画面に出力:物事が目立つ
Array ([0] => [1] => [2] => 6/10/2016 [3] => [4] => [5] => 7.35 [6] => N [7] => N [8] => N [9] => 0 [10] => 0 [11] => 0 [12] => 0 [13] => 0 [14] => 80 [15] => 0 [16] => 80 [17] => 0 [18] => 80 [19] => N [20] => N [21] => N [22] => N [23] => 236.50 [24] => 0.00 [25] => 4.86 [26] => AFG Home Loans - Alpha [27] => 100% Offset Lo Doc Fixed [28] => 100% Offset Lo Doc 4 Year Fixed Owner Occupied [29] => 250.00 [30] => [31] => 7.35 [32] => 0.00 [33] => 4.9 [34] => N [35] => 325.00 [36] => 48 [37] => 4.52 [38] => 1-1MX78TF [39] => N [40] => [41] => [42] => N [43] => N [44] => [45] => Y [46] => 0.00 [47] => 10,000.00 [48] => 2,000,000.00 [49] => Y [50] => 30 [51] => [52] => [53] => Y [54] => 0.00)
結果のXMLをどのように表示しますか? 'Product'要素に何も入れていません。 – Barmar
あなたは 'htmlspecialchars'を使う必要はありません。必要に応じてライブラリーがあなたのエンコーディングを行います。 – Barmar
IDは 'Product ID =" 100 ">'のように 'Product'の属性ではなく、別の要素であるべきですか? – Barmar