0

xml ファイルを読み取り、その内容をテキスト ファイルに出力するための簡単なスクリプトを作成しています。しかし、どこかで 500 エラーが発生し続け、それを見つけることができません。

XML:

<calibredb>
  <record>
    <uuid>b32a07fd-dd70-4b00-acf4-395f2e69df72</uuid>
    <publisher>Boom! Studios</publisher>
    <title sort="Seven Warriors 2">Seven Warriors 2</title>
  </record>
</calibredb>

PHP ファイル:

<?php

// Encryption Key
$key = "Ex6wCoVjh80Iu7ZAraanEEUyJmPHjCIt";


// Function To Generate A Unique ID
function asc2hex ($temp) {
    $data = "";
    $len = strlen($temp);
    for ($i=0; $i<$len; $i++) $data.=sprintf("%02x",ord(substr($temp,$i,1)));
    return $data;
}

// Function To Generate A Unique ID
function encrypt($string, $key) {
    $result = '';
    for($i=1; $i<=strlen($string); $i++) {
        $char = substr($string, $i-1, 1);
        $keychar = substr($key, ($i % strlen($key))-1, 1);
        $char = chr(ord($char)+ord($keychar));
        $result .= $char;
    }
    return asc2hex($result);
}

// Location For Text File
$file_text = fopen("comics.txt","w+");

// Initialize Reading Of XML File
$dom = new DOMdocument();
$dom->load('comics.xml');

foreach ($dom->getElementByTagName('record') as $entry) {

// Comic Publisher
$publisher = $entry->getElementsByTagName('publisher')->item(0)->textContent; 

// Comic Title
$title = $entry->getElementsByTagName('publisher')->item(0)->textContent;

// Comic ID
$id = $title.$publisher;
$id = encrypt($id, $key); 

// Text To Write
$text_to_write = $title." (".$publisher.") (".$id.")\r";

fwrite($file_text,$text_to_write);
echo $text_to_write." Added!<br/>";

}


fclose($file_text);

?>

新鮮な目で、私が間違っていたところを指摘できるかもしれません!

4

1 に答える 1

3
foreach ($dom->getElementByTagName('record') as $entry) { 

次のようにする必要があります。

foreach ($dom->getElementsByTagName('record') as $entry) { 
于 2012-08-13T16:20:12.370 に答える