-1
<?xml version="1.0" encoding="ISO-8859-1" ?> 
<pages>
<page>
    <title>Home</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Pictures</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Information</title>
    <content>Lorem Ipsum</content>
</page>
</pages>

私のXML

$url = "xml->build.xml";
$xml = simplexml_load_file($url);

$i = 1;

foreach($xml->page as $page) {
    echo "<strong>Page ".$i.":</strong> ".$page->title."<br/>";
    $i++;
}

私のPHP

私は得ています:

警告: simplexml_load_file(): I/O 警告: 外部エンティティ "xml->build.xml" のロードに失敗しました

その簡単なスクリプトから!何か案は?:)

更新されました。これは正確な XML ファイルです

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<pages>
<page>
    <title>Home</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Pictures</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Information</title>
    <content>Lorem Ipsum</content>
</page>
</pages>
<css>
<css-tag>
    <title>background-color</title>
    <value>#FFF</value>
</css-tag>
</css>
<layout>1</layout>
4

2 に答える 2

1

そこにないファイルを読み込もうとしているために、それが起こっています。ファイルに名前が付けられbuild.xml、PHP スクリプトと同じディレクトリに保存されている場合は、次のように置き換えます。

$url = "xml->build.xml";

と:

$url = dirname(__FILE__) . "/build.xml";
于 2012-04-21T01:02:48.873 に答える
0

なぜこのようなエラーが発生するのかわかりませんが、これは解決に役立つかもしれません

有効な名前だとは思いませんxml->build.xmlが、次のような名前に変更することもできますかbuild.xml

試す

$url = "build.xml";
if(!is_file($url))
    die("File Does not exist");

if(!is_readable($url))
    die("File is not readeable");


$xml = simplexml_load_string(file_get_contents($url));
var_dump($xml);

$xml = simplexml_load_file($url);
var_dump($xml);

うまくいけばsimplexml_load_string間違いなくうまくsimplexml_load_fileいくでしょう

アップデート

あなたの XML は間違っています。フォーマットは次のようにする必要があります

$url = '<?xml version="1.0" encoding="ISO-8859-1" ?> 
<doc>
<pages>
<page>
    <title>Home</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Pictures</title>
    <content>Lorem Ipsum</content>
</page>
<page>
    <title>Information</title>
    <content>Lorem Ipsum</content>
</page>
</pages>
<css>
<css-tag>
    <title>background-color</title>
    <value>#FFF</value>
</css-tag>
</css><layout>1</layout>
</doc>';
于 2012-04-21T01:03:32.740 に答える