PHP变量和XML元素

PHP变量和XML元素,php,xml,Php,Xml,我试图使用PHP变量从XML文件加载某些元素,因此如果加载index.PHP?id=1,它将从$projects->project[1]中提取信息。下面的代码中没有出现错误,但没有显示任何内容。感谢您的帮助:) 项目[$id]->标题; ?> 它可能是两件事之一(或两者兼而有之): 如果没有什么可显示,echo就不会显示任何内容 出现错误,但您的服务器未报告该错误,请尝试检查日志(如果有)。还要检查是否启用了错误报告 也就是说,尝试使用print\u r或var\u dump获取数据。pri

我试图使用PHP变量从XML文件加载某些元素,因此如果加载index.PHP?id=1,它将从$projects->project[1]中提取信息。下面的代码中没有出现错误,但没有显示任何内容。感谢您的帮助:)

项目[$id]->标题;
?>  

它可能是两件事之一(或两者兼而有之):

  • 如果没有什么可显示,echo就不会显示任何内容
  • 出现错误,但您的服务器未报告该错误,请尝试检查日志(如果有)。还要检查是否启用了错误报告
  • 也就是说,尝试使用print\u r或var\u dump获取数据。

    print\r($\u get);死亡 检查您是否正在获取get中的数据。

    error_reporting(~0); // show me everything i do wrong
    
    $projects = simplexml_load_file('portfolio.xml');
    
    var_dump($projects); // make sure $projects actually has something
    
    var_dump($_GET['id']); // are you getting the request data?
    
    $id = (int) $_GET["id"]; // cast to int for good measure
                             // i'm assuming it's numeric, don't if its not
    
    echo $projects->project[$id]->title; // still not showing anything?
    
    var_dump($projects->project[$id]->title); // dump it for good measure
    

    您是否尝试过
    var\u dump($projects)
    以确保加载后它包含数据?另外,尝试使用
    错误报告(~0)
    一个xml文件的小示例将非常有用!,还请记住,节点计数从0开始,因此,如果您有一个且只有一个节点,则不会得到任何结果。另外,作为一个好的实践,您应该启用具有尽可能高的值的错误报告(即错误报告(e_ALL)和ini_集('display_errors',true);)发布XML示例数据,这将更有帮助。返回数组([id]=>2)意味着您的get请求没有问题,您应该$projects=simplexml_加载文件('portfolio.XML'); 印刷(项目);并查看$project对象是否包含$projects->project。
    error_reporting(~0); // show me everything i do wrong
    
    $projects = simplexml_load_file('portfolio.xml');
    
    var_dump($projects); // make sure $projects actually has something
    
    var_dump($_GET['id']); // are you getting the request data?
    
    $id = (int) $_GET["id"]; // cast to int for good measure
                             // i'm assuming it's numeric, don't if its not
    
    echo $projects->project[$id]->title; // still not showing anything?
    
    var_dump($projects->project[$id]->title); // dump it for good measure