2015-08-19 3 views
1

У меня есть поле в базе данных, в которой хранятся некоторые данные XML. Я показываю эти данные на странице в приложении, которое я создаю. Я в настоящее время отображения данных на Jquery тумблер, как так ...Сделать XML более читаемым ASP.NET MVC

<a data-toggle="collapse" data-target="#demo"> 
    @Html.DisplayNameFor(model => model.AllXml) 
</a> 
<div id="demo" class="collapse"> 
    <div class="display-field"> 
     <p> @Html.DisplayFor(model => model.AllXml)</p> 
</div> 

Проблема я столкнулся в том, что, когда данные отображаются на странице, он не читается вообще, как и следовало ожидать. Я хочу, чтобы данные XML, отображаемые на странице, были более читабельными. Я посмотрел на Beautify и TreeView, но я понятия не имею, как это может быть реализовано для моего решения. Может ли кто-нибудь указать мне в правильном направлении?

Заранее спасибо

+2

Итак, вы ожидали, что XML будет просто «выглядеть нормально» при сбрасывании на страницу? – DavidG

+0

Есть много онлайн-редакторов, вы можете вставлять свою страницу в режиме readonly, чтобы иметь * pretty xml *, f.e. [Ас] (http://ace.c9.io/#nav=about). – pasty

ответ

1

Вы можете использовать pre тег для сохранения форматирования строк.

<pre>@Html.DisplayFor(model => model.AllXml)</pre> 
+0

Спасибо, это быстрое решение моей проблемы. Я хотел бы использовать TreeView, если возможно, хотя, но это полезно приветствия –

0

Вы можете использовать LINQ, чтобы получить

try 
{ 
    XDocument doc = XDocument.Parse(xml); 
    return doc.ToString(); 
} 
catch (Exception) 
{ 
    return xml; 
} 

Вы можете использовать это, чтобы получить хорошо отформатированную строку XML, которые вы можете использовать в вашем HTML, а не просто выводя XML как , Пожалуйста, не то, что если вы используете старую версию .NET вы не будете иметь доступ к LINQ [.NET < v3.5]

+0

Спасибо за ваш вклад, где в моем заявлении это пойдет, пожалуйста? –

+0

, если AllXml является строкой, вы можете использовать приведенный выше код и поместить его в метод, который возвращает строку, а затем установить 'model.AllXml = YourMethod (model.AllXml);' этот код будет в контроллере Действие. – mahlatse

+0

вы также можете использовать @ Html.Raw (model.Allxml), если браузер применит stying к вашему xml – mahlatse

Смежные вопросы