2013-05-17 51 views
2

我有一個小問題。 我有一個字符串(包含XML代碼)。 例子:將XML(以格式化的方式)顯示爲Razor Textarea

<PosizioneRischio> 
<ParametriInput> 
    <Utente>Utente</Utente> 
<Input> 
    <ClienteRichiesto> 
    <CodiceCR>1</CodiceCR> 
    <CodiceCRA /> 
    </ClienteRichiesto> 
    <IstitutiRichiesti> 
    <IstitutoRichiesto>1</IstitutoRichiesto> 
    </IstitutiRichiesti> 
    <DateContabiliRichieste> 
    <DataContabileRichiesta>2014</DataContabileRichiesta> 
    </DateContabiliRichieste> 
</Input> 
<ScalaImporti>5000</ScalaImporti> 
</ParametriInput> 
<PosizioneRischio> 

我想表明它與剃鬚刀一個文本,在格式化的方式。

Supponing字符串名稱是「的xmlString」, 我想這樣做是這樣的:

@Html.TextArea("Info",xmlstring, new {cols="105", rows="30",@readonly="readonly",@disabled="disabled" })</td> 

但這種方式,XML代碼出現拉伸.. obvioulsy結果未格式化。我怎樣才能讓它格式化? 對不起,question..i'm一個新手

+0

您可以包括生成的HTML的樣本? – Kane

+0

Utente 1 2014 5000 user2328912

+0

@ user2328912它不是html,它不是有效的xml。根元素沒有結束標記 –

回答

9
var xml = "<root><A><B>0</B><C>0</C></A><D><E>0</E></D></root>"; 

XDocument doc = XDocument.Parse(xml); 
Console.WriteLine (doc.ToString()); 

會打印:

<root> 
    <A> 
    <B>0</B> 
    <C>0</C> 
    </A> 
    <D> 
    <E>0</E> 
    </D> 
</root> 

所以,你需要做的

@Html.TextArea("Info", XDocument.Parse(xmlstring).ToString(), new {cols="105", rows="30", @readonly="readonly", @disabled="disabled" })</td> 
+0

非常感謝!你非常有用!我如何使XML標籤着色(以自然XML方式,不使用CSS技巧)? (例如,Internet Explorer總是自動給標籤賦予顏色..) – user2328912