2012-10-12 31 views
0

我有一個SQL Server 2005表,它在XML列中有XML片段。爲了正確使用XSL將片段轉換爲XHTML,我需要用附加節點等來包圍片段。我的想法是我需要能夠將XML數據作爲一個字符串處理,然後我可以將其作爲前綴和後置,然後轉換爲DOM對象。使用PHP和SQL Server 2005,我可以從XML字段返回數據並將其轉換爲字符串嗎?

這是正確的路嗎?有沒有更好的辦法?

這裏是我需要把片段(可以是相當大的)一個例子:

<?xml version="1.0" encoding="UTF-8"?> 
<document xmlns="urn:hl7-org:v3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:hl7-org:v3 http://www.accessdata.fda.gov/spl/schema/spl.xsd"> 
    <id /> 
    <code /> 
    <effectiveTime /> 
    <component> 
     <structuredBody> 
      << SNIPPET GOES HERE >> 
     </structuredBody> 
    </component> 
</document> 
+0

推測,該列的數據類型已經是'varchar'或類似的東西,那麼問題是什麼?沒有必要將它轉換爲字符串,因爲它已經是一個字符串了,當然? – ChrisW

+0

不,該字段是xml,不是varchar。那就是問題所在。 –

回答

0

我發現處理SQL將使用CAST處理轉換。

進入XML數據進行XML字段一個可以使用以下命令:

SELECT CAST(XmlField as varchar(max)) AS XmlStr 
FROM table1 
WHERE (id = 22234) AND (code = '34071-1') 

這返回的數據作爲一個字符串,這正是我需要的。

相關問題