我想从存储到SQL Server数据库表的XML中读取一个属性。
我确认该列具有Options -MultiViews +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^http://razor.avatarland.org$ [NC]
RewriteCond %{REQUEST_styles.css} !-f
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
#ERROR CODE -----------------------------------------------------------
ErrorDocument 400 /400.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
#Folder access-------------------------------------------------------
RewriteRule ^admin/?$ /404.php [NC,L]
RewriteRule ^css/?$ /404.php [NC,L]
RewriteRule ^download/?$ /404.php [NC,L]
RewriteRule ^etc/?$ /404.php [NC,L]
RewriteRule ^images/?$ /404.php [NC,L]
RewriteRule ^password_protect/?$ /404.php [NC,L]
RewriteRule ^profiles/?$ /404.php [NC,L]
RewriteRule ^tos/?$ /404.php [NC,L]
RewriteRule ^warning/?$ /404.php [NC,L]
RewriteRule ^Tos-and-rules/?$ /terms.php [NC,L]
#Error---------------------------------------------------------------
RewriteRule ^400/?$ /400.php [NC,L]
RewriteRule ^401/?$ /401.php [NC,L]
RewriteRule ^403/?$ /403.php [NC,L]
RewriteRule ^404/?$ /404.php [NC,L]
RewriteRule ^500/?$ /500.php [NC,L]
#Main----------------------------------------------------------------
RewriteRule ^//?$ /index.php [NC,L]
RewriteRule ^about/?$ /about.php [NC,L]
RewriteRule ^contact/?$ /contact.php [NC,L]
RewriteRule ^misc/?$ /misc.php [NC,L]
RewriteRule ^upload/?$ /upload.php [NC,L]
RewriteRule ^forum/?$ /forum.php [NC,L]
RewriteRule ^chat/?$ /chat/index.php [NC,L]
RewriteRule ^denied/?$ /denied.php [NC,L]
#Admin----------------------------------------------------------------
RewriteRule ^adminpanel/?$ /adminpanel.php [NC,L]
RewriteRule ^adminpanel/admin-rules/?$ /admin-rules.php [NC,L]
RewriteRule ^adminpanel/promote-demote/?$ /admin/promote-demote.php [NC,L]
RewriteRule ^adminpanel/log/?$ /admin/admin-log.php [NC,L]
RewriteRule ^adminpanel/reported/?$ /admin/reported.php [NC,L]
RewriteRule ^adminpanel/log/promoted-demoted/?$ /admin/promoted-demoted-log.php [NC,L]
RewriteRule ^adminpanel/log/warnings/?$ /admin/warnings.php [NC,L]
RewriteRule ^adminpanel/log/unban/?$ /admin/unban.php [NC,L]
#Misc----------------------------------------------------------------
RewriteRule ^misc/members/?$ /members.php [NC,L]
RewriteRule ^misc/download/?$ /download.php [NC,L]
RewriteRule ^misc/top-members/?$ /top-members.php [NC,L]
RewriteRule ^misc/games/?$ /games.php [NC,L]
RewriteRule ^misc/sheepa/?$ /sheepa.php [NC,L]
RewriteRule ^misc/sheepa/web-stat?$ /etc/sheepa_website.php [NC,L]
RewriteRule ^misc/awards?$ /awardlist.php [NC,L]
#Etc-----------------------------------------------------------------
RewriteRule ^credits/?$ /etc/credits.php [NC,L]
RewriteRule ^help/?$ /etc/help.php [NC,L]
#Banned--------------------------------------------------------------
RewriteRule ^banned/?$ /banned.php [NC,L]
#User----------------------------------------------------------------
RewriteRule ^signin/?$ /login.php [NC,L]
RewriteRule ^signout/?$ /logout.php [NC,L]
RewriteRule ^signup/?$ /register.php [NC,L]
RewriteRule ^user/0/?$ /nouser.php [NC,L]
RewriteRule ^inbox/?$ /profiles/inbox.php [NC,L]
RewriteRule ^settings/?$ /settings.php [NC,L]
RewriteRule ^settings/change-email-pw/?$ /profiles/change-info.php [NC,L]
RewriteRule ^settings/change-bio/?$ /profiles/change-bio.php [NC,L]
RewriteRule ^settings/change-avatar/?$ /profiles/change-avatar.php [NC,L]
RewriteRule ^settings/change-clan_tag/?$ /profiles/change-clantag.php [NC,L]
RewriteRule ^etc/bb-code/?$ /etc/bb-codes.php [NC,L]
RewriteRule report/user/(.*)/ report_usere.php?id=$1
RewriteRule report/user/(.*) report_user.php?id=$1
#Users------------------------------------------------------------
RewriteCond %{THE_REQUEST} \s/user\.php\?id=([0-9]+)\s [NC]
RewriteRule ^user/%1? [R=301,L]
RewriteRule ^user/([0-9]+)/?$ user.php?id=$1 [L]
#Message------------------------------------------------------------
RewriteCond %{THE_REQUEST} \s/message\.php\?id=([0-9]+)\s [NC]
RewriteRule ^message/%1? [R=301,L]
RewriteRule ^message/([0-9]+)/?$ message.php?id=$1 [L]
#Message / Read--------------------------------------------------------
RewriteRule read-message/(.*)/ read-message.php?link=$1
RewriteRule read-message/(.*) read-message.php?link=$1
#Password------------------------------------------------------------
RewriteRule ^reset-password/?$ /password_protect/reset-pass.php [NC,L]
RewriteRule ^reset-password/ticket/?$ /password_protect/pass_ticket.php [NC,L]
RewriteRule ^reset-password/email-username/?$ /password_protect/pass_email_username.php [NC,L]
#Forum------------------------------------------------------------
RewriteRule forum/(.*)/ forum_threads.php?link=$1
RewriteRule forum/(.*) forum_threads.php?link=$1
#Members----------------------------------------------------------
RewriteRule misc/members/(.*)/ members.php?page=$1
RewriteRule misc/members/(.*) members.php?page=$1
#Top-Members----------------------------------------------------------
RewriteRule misc/top-members/(.*)/ top-members.php?page=$1
RewriteRule misc/top-members/(.*) top-members.php?page=$1
#add friend-------------------------------------------------------
RewriteRule user/addfriend/(.*)/ friend_system.php?id=$1
RewriteRule user/addfriend/(.*) friend_system.php?id=$1
数据类型。
我使用此查询来读取属性,但结果始终为NULL值。我不明白为什么。我在这里找到的所有例子都证实我做得恰到好处。
XML
以下是我使用的XML的摘录。
SELECT
SDMPackageDigest.value('(//DesiredConfigurationDigest/SoftwareUpdateBundle/Annotation/DisplayName/@Text)[1]', 'NVARCHAR(256)')
FROM
v_UpdateInfo
答案 0 :(得分:2)
您需要尊重 XML命名空间!
尝试这样的事情:
;WITH XMLNAMESPACES(DEFAULT 'http://schemas.microsoft.com/SystemsCenterConfigurationManager/2009/07/10/DesiredConfiguration',
'http://schemas.microsoft.com/SystemsCenterConfigurationManager/2009/06/14/Rules' AS ns)
SELECT
SDMPackageDigest.value('(/DesiredConfigurationDigest/SoftwareUpdateBundle/ns:Annotation/ns:DisplayName/@Text)[1]', 'NVARCHAR(256)')
FROM
v_UpdateInfo
答案 1 :(得分:0)
{{1}}