来自 MySQL 的 XML 数据

Posted

技术标签:

【中文标题】来自 MySQL 的 XML 数据【英文标题】:XML data from MySQL 【发布时间】:2013-06-17 11:35:25 【问题描述】:

我正在尝试在 xml 中显示 select 的结果。但是,当我列出带有 blob 图像的结果时,我收到以下错误:此页面包含以下错误: 第 33 行第 27 列的错误:编码错误 下面是出现第一个错误之前的页面渲染。

不知道怎么回事……mysql中的字段类型是blob。

<?php
header('Content-type: text/xml');
 mysql_connect('localhost', 'root', 'test');mysql_select_db('test');


        if(isset($_GET['id']) && $_GET['id'] != '')
        
            if($_GET['id'] == '0')$sql = 'SELECT * FROM CDUsers';
            else$sql = 'SELECT * FROM cdusers WHERE id = '.$_GET['id'];
        

    $result = mysql_query($sql) or die(mysql_error());
    $num = mysql_num_rows($result);
    if($num != 0)
    ?>
        <CDUsers>
        <?php while($user = mysql_fetch_assoc($result))
                ?>
                    <user>
                    <id><?php echo $user['id'];?></id>
                    <name><?php echo $user['name'];?></name>
                    <surname><?php echo $user['surname'];?></surname>
                    <location><?php echo $user['location'];?></location>
                    <email><?php echo $user['email'];?></email>
                    <password><?php echo $user['password'];?></password>
                    <gender><?php echo $user['gender'];?></gender>
                    <foto><?php echo $user['foto'];?></foto>
                    <tipo><?php echo $user['tipo'];?></tipo>
                    </user>
        <?php   //?>
        </CDUsers>
    <?php else
                ?>
                    <CDUsers>
                    <user>
                    vazio
                    </user>
                    </CDUsers>
    <?php       
?>

【问题讨论】:

鉴于第 33 行是“?>”,并且没有第 27 列,那么您实际上在哪里得到了这段代码中的错误? 只是为了抢占复制粘贴的cmets关于mysql.*的邪恶,OP可以免费使用他喜欢的任何功能 @Mike'Pomax'Kamermans 是的......正是这个代码......:S 【参考方案1】:

不知道它实际上在哪里标记错误,我猜这是因为您正在服务text/xml,但您返回的数据不是有效的 XML。 XML 文档在文档数据之前需要一个 xml 版本指示符 (&lt;?xml version="1.0"?&gt;) 和一个文档类型 (&lt;!doctype ......&gt;)。看起来您正在跳过该部分并直接跳转到由 CDUsers 元素组成的 XML 片段。

【讨论】:

以上是关于来自 MySQL 的 XML 数据的主要内容,如果未能解决你的问题,请参考以下文章

xml 来自VIN API的数据集的XML示例

在 Spark 的嵌套 XML 中为来自父数据框的子数据框添加额外的列

使用 XSLT 在选择字段中显示来自 XML 的数据

在 T-SQL 中加入来自 XML 的数据

为啥 XML 不能从字符串中读取? (但将来自相同数据的 .text)

来自 REST API 调用的 PowerBI XML 数据源有时会返回“表”数据类型