2010-06-15 50 views
0

假設我有一個XML文檔我有一個標籤包含HTML文本。 我想用xsl顯示這個文本。 html標記是htmlInfo如何將xsl中的html文本放入標籤中?

我想我可以把它放在一個標籤(在xsl中),但它不起作用。 我能做什麼?

+0

您能否提供樣本xml和xsl? – Peter 2010-06-15 07:57:34

+0

在xml廁所這樣

xzxzxzxzxz

hghghgh

ii想要在我使用xmlDocument的xsl – joe 2010-06-15 08:55:56

回答

1

你可能必須把它編碼到你的XML,所以它看起來是這樣的:

<tableInfo> 
    <id>1</id> 
    <htmlInfo> 
     &lt;html xmlns='w3.org/1999/xhtml'&gt;&lt;head &gt;&lt;/head&gt; &lt;body&gt;&lt;p&gt;xzxzxzxzxz&lt;/p&gt; &lt;p&gt;hghghgh&lt;/p&gt; &lt;/body&gt;&lt;/html&gt; 
    </htmlInfo> 
<tableInfo> 

因此,所有<字符都被替換&lt;和所有>字符都被替換爲&gt;。 &應該是&amp; ...如果您使用.NET,請不要使用String.Replace,而是使用System.Xml命名空間來正確構建XmlDocument。它會爲你做編碼。 例如,在VB.Net:

Dim stringBuilder As New StringBuilder() 
Dim stringWriter As New StringWriter(stringBuilder) 
Dim xmlTextWriter As New XmlTextWriter(stringWriter) 

xmlTextWriter.WriteStartElement("item") 
xmlTextWriter.WriteAttributeString("id", id.ToString()) 
xmlTextWriter.WriteAttributeString("key", key) 
xmlTextWriter.WriteValue(value) 
xmlTextWriter.WriteEndElement() 

Return stringBuilder.ToString() 

然後,你的XSL應該能夠處理它,如果你的輸出轉換爲HTML文件爲例,&lt;和其他的東西應該正確地是'< '在輸出中,你的HTML應該是有效的。

+0

中顯示htmlInfo的內容。但我怎麼能編碼的HTML到XML。什麼時候? – joe 2010-06-15 09:36:41

+0

XmlDocument上的哪個方法用於編寫htmlInfo標記? – Peter 2010-06-15 11:00:52

+0

xsl.Load(xslUrl); //轉換xml XPathNavigator navigator = xmlDs.DocumentElement.CreateNavigator(); StringBuilder sbTransHtml = new StringBuilder(); StringWriter strwTransHtml = new StringWriter(sbTransHtml); XmlTextWriter xmltwTransHtml = new XmlTextWriter(strwTransHtml); xsl.Transform(navigator,null,xmltwTransHtml); return strwTransHtml.ToString(); – joe 2010-06-15 11:08:09

相關問題