-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 回答