Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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
Php 如何在不引入列标题的情况下将表中的值转换为XML?_Php_Xml - Fatal编程技术网

Php 如何在不引入列标题的情况下将表中的值转换为XML?

Php 如何在不引入列标题的情况下将表中的值转换为XML?,php,xml,Php,Xml,我正在使用下面的函数将PaymentAmount从数据库转换成XML function GetPaymentTotal($orderID) { Global $cnx; $ptotal = null; $sql = "SELECT value FROM orders_total WHERE class='ot_total' AND orders_id = '" . $orderID . "'"; $result = mysql_q

我正在使用下面的函数将PaymentAmount从数据库转换成XML

    function GetPaymentTotal($orderID) {

      Global $cnx;
      $ptotal = null;

      $sql    = "SELECT value FROM orders_total WHERE class='ot_total' AND orders_id = '" . $orderID . "'";
      $result = mysql_query($sql, $cnx) or die('Couldn\'t get order ot_shipping class from ' . SHOPPING_CART . ' orders_total table: ' . mysql_error());
      if (mysql_num_rows($result) > 0)
      {
          $ptotal = mysql_fetch_assoc($result);
      }  

      return $ptotal;

    }
使用此选项可输出:

$a_order['PaymentAmount']   = GetPaymentTotal($order->OrderNumber);
它正在工作,但出于某种原因,它在我的价值观的任何一边都引入了“价值”标签。。。这是我不想要的。下面是这一分钟的情况:

<PaymentAmount>
   <value>74.8501</value>
</PaymentAmount>

74.8501
这是我想要的样子

<PaymentAmount>74.8501</PaymentAmount>
74.8501

任何帮助都将不胜感激。

从您提供的代码中,您不喜欢的XML:

<PaymentAmount>
   <value>74.8501</value>
</PaymentAmount>

74.8501
从数据库中获取。因此,您的问题表明,您已将不需要的数据存储到数据库中。但是,您还没有在问题中说明如何在数据库中存储数据,因此无法给出一个具体的编程示例,说明如何修复存储数据的问题

因此,只有一般的答案似乎适用于这样的说法,即您需要更改在数据库中存储数据的方式

另一方面,当您从数据库获取数据时,您可以尝试修复数据。但是,这似乎非常麻烦,因为您需要首先解析数据库中的数据,然后以所需的格式创建新的XML文档:

$dbData
    = '<PaymentAmount>
   <value>74.8501</value>
</PaymentAmount>';

$dbDoc  = new SimpleXMLElement($dbData);             # XML doc from database
$tag    = $dbDoc->getName();                         # Get tag name
$newDoc = new SimpleXMLElement("<$tag/>");           # XML doc for application
$newDoc->{0} = (string) $dbDoc->value[0];            # import value
$newData = explode("\n", $newDoc->asXML(), 2)[1];    # remove XML declaration

echo $newData; # <PaymentAmount>74.8501</PaymentAmount>
$dbData
= '
74.8501
';
$dbDoc=新的simplexmlement($dbData);#来自数据库的XML文档
$tag=$dbDoc->getName();#获取标记名
$newDoc=新的simplexmlement(“”;#XML文档的应用
$newDoc->{0}=(字符串)$dbDoc->value[0];#进口价值
$newData=explode(“\n”,$newDoc->asXML(),2)[1];#删除XML声明
echo$newData;#74.8501