MSSQL从XHTML读取标记存储为XML列

时间:2016-01-02 11:20:35

标签: sql sql-server

我已将~500kb~10k行XHTML文档存储为XML数据类型。现在我想从本文档中的单个表中提取数据。似乎有很多方法来处理XML结构化数据,最有希望的解决方案(我试过其他的)似乎是: how to get data from html in SQL Server column

当我运行此测试代码时:

DECLARE @HtmlTbl TABLE (ID INT IDENTITY, Html XML)

INSERT INTO @HtmlTbl(Html) VALUES('
<html>
  <head>
    <title>asdf</title>
  </head>
  <body>
  </body>
</html>
')

SELECT  html.query('//title')
FROM    @HtmlTbl 
WHERE   ID = 1

效果很好。但是如果我的XHTML看起来像这样:

INSERT INTO @HtmlTbl(Html) VALUES('
<html xmlns="../www.w3.org/1999/xhtml/index.html">
  <head>
    <title>asdf</title>
  </head>
  <body>
  </body>
</html>
')

它已经失败了,结果我得到空字符串。当然我的原始XHTML文件要大得多,我不想在所有这些注释和内容中运行,导致我的搜索失败。

我是新手在MSSQL中处理XML,也许有人可以告诉我一个更好的方法来提取我正在寻找的表。服务器有SQL Express 2014,thx求助。

0 个答案:

没有答案