Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSSQL从存储为XML列的XHTML读取标记_Sql_Sql Server - Fatal编程技术网

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

MSSQL从存储为XML列的XHTML读取标记,sql,sql-server,Sql,Sql Server,我以XML数据类型存储了一个~500kb~10k行的XHTML文档。现在,我想从本文档中的单个表中提取数据。处理XML结构化数据的方法似乎很多,最有希望的解决方案(我尝试过其他解决方案)似乎是: 当我运行此测试代码时: DECLARE @HtmlTbl TABLE (ID INT IDENTITY, Html XML) INSERT INTO @HtmlTbl(Html) VALUES(' <html> <head> <title>asdf&l

我以XML数据类型存储了一个~500kb~10k行的XHTML文档。现在,我想从本文档中的单个表中提取数据。处理XML结构化数据的方法似乎很多,最有希望的解决方案(我尝试过其他解决方案)似乎是:

当我运行此测试代码时:

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
DECLARE@HtmlTbl表(ID INT-IDENTITY,Html-XML)
插入@HTMLTL(Html)值('
asdf
')
选择html.query(“//title”)
来自@HtmlTbl
其中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>
')
插入@HtmlTbl(Html)值('
asdf
')
它已经失败了,结果我得到了空字符串。当然,我的原始XHTML文件要大得多,我不想在所有这些注释和内容中运行,从而导致搜索失败

我不熟悉在MSSQL中处理XML,也许有人能告诉我一种更好的方法来提取我正在寻找的表。服务器上有SQL Express 2014、thx以获取帮助