我已经将下面提到的XML存储在一个表(MS-SQL DB)中
<CUSTOMER>
<CUSTOMERDATA>
<USERID>12691</USERID>
<USERCODE>FFRD991</USERCODE>
<MOBILENO>5645353443</MOBILENO>
<EMAILID>jhfghfghgf@sdf.fh</EMAILID>
<FIRSTNAME>ggdg</FIRSTNAME>
<MIDDLENAME>dfgdfgdf</MIDDLENAME>
<LASTNAME>gdfgdf</LASTNAME>
<ADDRESS></ADDRESS>
<CITY></CITY>
<PINCODE></PINCODE>
<STATENAME></STATENAME>
<SOURCE>Others</SOURCE>
<CREATEDATE>2015-12-01</CREATEDATE>
<STATUS></STATUS>
</CUSTOMERDATA>
</CUSTOMER>
现在我想使用以下代码通过php获取此记录:
$query = "Select xml_rec from tbl_node where UserId = 12691";
$result = sqlsrv_query($this->db->conn_id, $query);
$row = sqlsrv_fetch_object($result);
//// OR
$row = sqlsrv_fetch_array($result , SQLSRV_FETCH_ASSOC);
echo $row['xml_rec'];
我得到了以下错误的XML。请注意空白标签
<CUSTOMER>
<CUSTOMERDATA>
<USERID>12691</USERID>
<USERCODE>FFRD991</USERCODE>
<MOBILENO>5645353443</MOBILENO>
<EMAILID>jhfghfghgf@sdf.fh</EMAILID>
<FIRSTNAME>ggdg</FIRSTNAME>
<MIDDLENAME>dfgdfgdf</MIDDLENAME>
<LASTNAME>gdfgdf</LASTNAME>
<ADDRESS/>
<CITY/>
<PINCODE/>
<STATENAME/>
<SOURCE>Others</SOURCE>
<CREATEDATE>2015-12-01</CREATEDATE>
<STATUS/>
</CUSTOMERDATA>
</CUSTOMER>
如何修复此问题以显示正确的XML?谢谢你抽出宝贵的时间
您在这里并没有真正使用任何xml处理函数,只需检索一个字符串并将其显示即可。问题最可能的原因是,当您将这些数据存储在数据库中时,会处理空标签
<tag></tag>
形成
<tag />
形式。
您可以通过直接连接到数据库(不使用PHP)并手动运行查询来检查这一点。
无论如何,正如lad2025所指出的,写空标签的两种方法是等效的,所以这对你的应用程序来说并不重要。