【问题标题】:Using PHP and SQL Server 2005, can I return data from an XML field and convert to a string?使用 PHP 和 SQL Server 2005,我可以从 XML 字段返回数据并转换为字符串吗?
【发布时间】:2023-04-03 15:53:02
【问题描述】:

我有一个 SQL Server 2005 表,它在 xml 列中有 XML sn-ps。要正确使用 XSL 将 sn-ps 转换为 XHTML,我需要在 sn-p 周围加上其他节点等。我的想法是我需要能够将 XML 数据作为字符串处理,然后我可以预先添加和postpend 到它,然后转换成一个 DOM 对象。

这是正确的方法吗?有没有更好的办法?

这是我需要放置 sn-p 的示例(可能相当大):

<?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>

【问题讨论】:

  • 想必该列的数据类型已经是varchar或类似的了,那有什么问题呢?没有必要将它转换为字符串,因为它已经是字符串了,确定吗?
  • 不,该字段是 xml,而不是 varchar。这就是问题所在。

标签: php xml sql-server-2005


【解决方案1】:

我发现 Transact SQL 将使用 CAST 处理转换。

要从 xml 字段中获取 xml 数据,可以使用以下方法:

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

这将数据作为字符串返回,这正是我所需要的。

【讨论】:

    猜你喜欢
    • 2011-06-01
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    相关资源
    最近更新 更多