0

我有以下查询:

  SELECT CAST(CAST([xmlDoc] AS VARCHAR(8000)) AS TEXT) AS xmlDoc FROM MYTABLE

xmlDoc 是一个 xml。如果我不作为 TEXT 进行强制转换,我会收到此错误:

仅 Unicode 排序规则中的 Unicode 数据或 ntext 数据无法使用 DB-Library(例如 ISQL)或 ODBC 版本 3.7 或更早版本发送到客户端。

所以,多亏了作为 TEXT 的转换,我没有任何问题,我继续我的应用程序。

但是现在我需要解析 xmlDoc 中包含的 xml。它是一个 xml,但现在它是一个字符串。

如何解析 xmlDoc ?我可以使用任何 php 函数将其返回到 xml 吗?我该怎么办?

我试过了:

$xml= simplexml_load_string($result['xmlDoc']); 

但我得到 $mxl 的错误

这是字符串:

<Sent><Head><Application>T1</Application><NumSent U="052" yearg="2011" counter="0032"/><Date>2011-12-07</Date></Head><Content></Content></Sent>
4

1 回答 1

0

您的 XML 只是一个片段,我猜 SimpleXML 需要一个完整的 XML 文档。

我对 SQL Server 中的 XML 生成一无所知,但在 PHP 端,您始终可以自己完成文档:

$xml= simplexml_load_string(
    '<?xml version="1.0" encoding="UTF-8"?>' . $result['xmlDoc']
); 
于 2012-10-24T14:50:16.377 回答