我已将~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求助。