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