Chcę wyprowadzić moją właściwość InnerXml do wyświetlania na stronie internetowej. Chciałbym zobaczyć wcięcie różnych tagów. Czy istnieje prosty sposób na zrobienie tego?Czy istnieje szybki sposób sformatowania XmlDocument dla wyświetlania w języku C#?
Odpowiedz
Oto mała klasa, którą ułożyłem jakiś czas temu, aby zrobić dokładnie to.
Zakłada się, że pracujesz z XML w formacie ciągu znaków.
public static class FormatXML
{
public static string FormatXMLString(string sUnformattedXML)
{
XmlDocument xd = new XmlDocument();
xd.LoadXml(sUnformattedXML);
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlTextWriter xtw = null;
try
{
xtw = new XmlTextWriter(sw);
xtw.Formatting = Formatting.Indented;
xd.WriteTo(xtw);
}
finally
{
if(xtw!=null)
xtw.Close();
}
return sb.ToString();
}
}
Jest jeszcze łatwiejsze, gdy dodasz go jako metodę rozszerzenia :) – Urda
Kocham Cię !!!!!!!!!!!!!! – ChandlerPelhams
Spot na, dzięki za kod :) –
Powinieneś być w stanie to zrobić z formatowaniem kodu. Najpierw będziesz musiał html kodować xml na stronę.
Google ma a nice prettifyer, który może wizualizować XML, a także kilka języków programowania.
Zasadniczo umieścić swój XML do wstępnego tagu jak poniżej:
<pre class="prettyprint">
<link href="prettify.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="prettify.js"></script>
</pre>
Skorzystaj z XML Web Server Control aby wyświetlić zawartość dokumentu XML na stronie internetowej.
EDYTOWANIE: Należy przekazać cały dokument XmlDocument do właściwości Document kontrolera XML Web Server, aby go wyświetlić. Nie musisz używać właściwości InnerXml.
Jeśli identyfikacja jest Twoją jedyną opcją i jeśli możesz pozwolić sobie na uruchomienie procesu Xternall, możesz przetworzyć plik xml za pomocą narzędzia konsoli HTML Tidy (~ 100K).
Kod jest:
tidy --input-xml y --output-xhtml y --indent "1" $(FilePath)
Następnie można wyświetlać idented ciąg na stronie internetowej po pozbyć się znaków specjalnych.
Łatwo byłoby również utworzyć funkcję rekursywną, która sprawia, że takie dane wyjściowe - po prostu powtarzaj węzły zaczynając od katalogu głównego i wprowadź kolejny krok rekurencji dla węzła potomnego, przekazując identyfikację jako parametr do każdego nowego wywołania rekursji.
Zapoznaj się z bezpłatnym Actipro CodeHighlighter dla ASP.NET - może wyświetlać starannie XML i inne formaty.
A może bardziej interesuje Cię faktyczne formatowanie pliku XML? Następnie spójrz na XmlTextWriter - możesz określić takie rzeczy jak Format (wcięcie lub nie) i poziom wcięcia, a następnie zapisz swój XML na przykład. a MemoryStream i odczytaj stamtąd ciąg znaków w celu wyświetlenia.
Marc
Użyć XmlTextWriter z XmlWriterSettings tak skonfigurowany, że wcięcie jest włączony. Możesz użyć StringWriter jako "tymczasowej pamięci", jeśli chcesz napisać wynikowy ciąg na ekranie.
- 1. Czy istnieje szybki sposób na utworzenie zestawu?
- 2. xcode 7 szybki sposób wyświetlania widoku przezroczystego
- 3. C#: czy istnieje sposób na wymuszenie wyświetlania podpowiedzi?
- 4. Najszybszym sposobem sformatowania numeru telefonu w języku C#?
- 5. Czy istnieje sposób wyświetlania drzew zależności dla pakietów paczek?
- 6. Czy istnieje metoda "upto" w języku C#?
- 7. Czy istnieje sposób na znalezienie ID Teamviewer w języku C#?
- 8. Czy istnieje przenośny sposób kopiowania bloku pamięci w języku C#?
- 9. Parsowanie ciągu znaków w języku C#; czy istnieje czystszy sposób?
- 10. Czy istnieje szybki sposób wyszukiwania zmiennych w R?
- 11. Czy istnieje szybki sposób na znalezienie brakujących końców w Ruby?
- 12. W języku Java, czy istnieje szybki sposób, aby zrzucić wszystkie argumenty do metody?
- 13. Czy istnieje delegat dostępny dla właściwości w języku C#?
- 14. Czy istnieje odpowiednik Groovy w języku C#?
- 15. Czy istnieje klasa wirtualna w języku C#?
- 16. Czy istnieje sposób wyświetlania nazw kontenerów w statystykach dokowania?
- 17. Szybki sposób na wykrycie, czy istnieje tabela lub widok DataContext
- 18. Czy istnieje szybki sposób na .remove wiersze tabeli z jQuery
- 19. Szybki sposób implementacji splotów 2D w C
- 20. Czy istnieje lepszy sposób wyświetlania użycia procesora w tmux?
- 21. Czy istnieje sposób wyświetlania pionowych linii wcięć w Delphi?
- 22. HTML: Czy istnieje sposób wyświetlania obrazów w obszarze tekstowym?
- 23. Jaki jest szybki sposób na sprawdzenie, czy plik istnieje?
- 24. Object.isArray() jest powolny, czy istnieje szybki sposób na zrobienie tego?
- 25. Czy istnieje szybki sposób na zablokowanie mojego repozytorium SVN?
- 26. Czy istnieje szybki język obsługujący przenośne kontynuacje?
- 27. Czy istnieje elegancki sposób ustawić wartość domyślną dla właściwości w języku C#?
- 28. Czy istnieje sposób, aby uzyskać stacktraces dla wszystkich wątków w języku C#, takich jak java.lang.Thread.getAllStackTraces()?
- 29. Standardowe rozwiązanie do wyświetlania nazw znaków w języku C++?
- 30. Szybki sposób wybierania powierzchni z mapą rastrową w języku GLSL
W czasach przechodzi przez i mamy teraz LINQ do XML, można użyć klasy '' XDocument' od nazw System.Xml.Linq' wydrukować swojej XML z wcięciem: 'XDocument.Parse (doc.InnerXml) '. – jwaliszko