プロが教えるわが家の防犯対策術!

SQLServerカテゴリかXMLかHTMLかどこに質問したものかと迷いましたが、ここに投稿させていただきます。

SQLServerのFAQテーブルがあり、そのデータを
Webで見れるようにしているのですが、
改行のあるデータをWebで表示するときに、
そのままだと、改行されません(当然ですが)。

ちなみに、ストアドでXMLデータを返してXslスタイルシートでHTMLのテーブル内に各FAQデータを入れて表示しています。
改行を'<br />'に置換してみましたが、当然文字として表示されます。。。
文字内にHTMLタグがあればHTMLタグと解釈して表示するようなHTMLタグは無いんでしょうね。。。

SELECT
FaqID,
Title,
replace([Question]),char(10),'<br />') AS Que,
replace([Answer]),char(10),'<br />') AS Ans
FROM FAQ WHERE FaqID = @nID
FOR XML AUTO,ELEMENTS

XSL側で、置換した文字列(今は'<br />')を探して文字列を分割し、
あいだに<br />タグを入れることは出来ますので、最悪そうしますが、
1ページに沢山のFAQを表示するので、
1件づつその処理を行うのは重くなりそうで、気がすすみません。

私がWeb関連は不慣れだからてこずっているだけで、
慣れた方でしたら「普通こうする」とかがあるのではないかと思い投稿しました。
よろしくお願いします。

A 回答 (1件)

replace([Question]),char(10),'<br />') AS Que,


replace([Answer]),char(10),'<br />') AS Ans

上記の([Question])と([Answer])部分ですが、( )の右の括弧は不要なのではないでしょうか。
質問と関係のない回答で失礼しました。

この回答への補足

すみません。
入力ミスです。

SELECT
FaqID,
Title,
replace([Question],char(10),'<br />') AS Que,
replace([Answer],char(10),'<br />') AS Ans
FROM FAQ WHERE FaqID = @nID
FOR XML AUTO,ELEMENTS

です。

補足日時:2006/01/14 16:00
    • good
    • 0
この回答へのお礼

できました♪

XSL側で
<PRE><xsl:value-of select="Que" /></PRE>

と<PRE>タグで囲んだら置換すらせずにできてしまいました。

お礼日時:2006/01/14 16:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!