我已經使用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'的屬性,比如''? –
Barmar