Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建用于生成XML结果的简单php文件_Php_Xml - Fatal编程技术网

如何创建用于生成XML结果的简单php文件

如何创建用于生成XML结果的简单php文件,php,xml,Php,Xml,如果输入,我希望以xml格式显示所有城市 我希望xml以这样的标记格式显示 <city> <navi mumbai> <pune> </city> 这是php示例代码,运行此代码时,根据您的条件将链接设置为过滤器 Header("Content-type: text/xml"); // get query string params $filter = $_GET['filter']; $xml =

如果输入,我希望以xml格式显示所有城市

我希望xml以这样的标记格式显示

<city>
   <navi mumbai>
   <pune>
</city>

这是php示例代码,运行此代码时,根据您的条件将链接设置为过滤器
    Header("Content-type: text/xml"); 
    // get query string params
    $filter = $_GET['filter'];

    $xml = '';

    If ($filter == "city"){
        $xml = $xml . '<continent name="city">';
        $xml = $xml . '<city id="1">Navi Mumbai</city>';
        $xml = $xml . '<city id="2">Thane</city>';
        $xml = $xml . '<city id="3">Pune</city>';
        $xml = $xml . '</continent>';
    }else If ($filter == "country"){
        $xml = $xml . '<continent name="country">';
        $xml = $xml . '<country id="100">India</country>';
        $xml = $xml . '</continent>';
    }else If ($filter == "state"){
        $xml = $xml . '<continent name="state">';
        $xml = $xml . '<state id="300">Maharastra</state>';
        $xml = $xml . '</continent>';
    }else{
        $xml = $xml . '<continent name="none">';
        $xml = $xml . '<country id="0">no result found</country>';
        $xml = $xml . '</continent>';
    }

    // send xml to client
    echo( $xml );
?>
标题(“内容类型:text/xml”);
//获取查询字符串参数
$filter=$_GET['filter'];
$xml='';
如果($filter==“城市”){
$xml=$xml'';
$xml=$xml.'Navi孟买';
$xml=$xml.'Thane';
$xml=$xml.'Pune';
$xml=$xml'';
}else If($filter==“国家”){
$xml=$xml'';
$xml=$xml.‘印度’;
$xml=$xml'';
}else If($filter==“state”){
$xml=$xml'';
$xml=$xml.‘马哈拉施特拉’;
$xml=$xml'';
}否则{
$xml=$xml'';
$xml=$xml。“未找到结果”;
$xml=$xml'';
}
//将xml发送到客户端
echo($xml);
?>

从您的输出中,我假设您想要以下内容:

<?php
    if (isset($_GET["filter"]))
    {
        $filter = $_GET["filter"];
        // create doctype
        $dom = new DOMDocument("1.0");

        switch($filter)
        {
            case "city":
                // display document in browser as plain text 
                // for readability purposes
                header("Content-Type: text/plain");

                // create root element
                $root = $dom->createElement("cities");
                $dom->appendChild($root);

                // create child element
                $item = $dom->createElement("city1");
                $root->appendChild($item);

                $item = $dom->createElement("city2");
                $root->appendChild($item);
            break;

            default:
                // do something else
        }
        // save and display tree
        echo $dom->saveXML();
    }
?>


请注意,您不能像您在示例中所做的那样,用空格分隔XML元素的名称。

请更具体一些,我甚至不知道这段代码是否适用于meI,我不知道需要更多的特殊性。我只是仔细检查了一下,我的代码正确地回显了有效的XML:。事实上,通过DOM构建XML比串接字符串的方法更可取,因为串接字符串会带来严重的性能损失。反过来,您没有指定收到的错误。让我知道错误,我将与您一起解决它。我希望你有更好的理由否决我的答案,期待着听到它。