将XML(格式化方式)显示到Razor Textarea中

时间:2013-05-17 08:58:53

标签: c# xml asp.net-mvc-4 razor

我有点问题。 我有一个字符串(包含XML代码)。 例如:

<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>

我想以格式化的方式用剃须刀在textarea中显示它。

支持字符串名称为“xmlstring”, 我想做类似的事情:

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

但是以这种方式,xml代码显得扁平化。显然结果没有格式化。我怎样才能格式化? 对不起,这个问题......我是新手

1 个答案:

答案 0 :(得分:12)

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>