0

私は次のクエリを持っています:

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

xmlDocはxmlです。TEXTとしてキャストしないと、次のエラーが発生します。

Unicodeのみの照合またはntextデータのUnicodeデータは、DB-Library(ISQLなど)またはODBCバージョン3.7以前を使用してクライアントに送信することはできません。

ですから、TEXTとしてのキャストのおかげで、問題はなく、アプリケーションを続行します。

しかし今、私はxmlDocに含まれているxmlを解析する必要があります。これはxmlでしたが、現在は文字列です。

xmlDocを解析するにはどうすればよいですか?php関数を使用してxmlに戻すことはできますか?私は何をすべきか?

私はもう試した:

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

しかし、私は$mxlに対してFALSEを取得します

文字列は次のとおりです。

<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 に答える