Jest wystarczająco proste, aby umieścić zewnętrzny tekst węzła XML w polu tekstowym WPF. Ale czy istnieje sposób, aby pole tekstowe sformatować tekst jako dokument XML? Czy istnieje inna kontrola, która to robi?Wyświetlenie XML w polu tekstowym WPF
11
A
Odpowiedz
21
To powinno załatwić sprawę:
protected string FormatXml(string xmlString)
{
XmlDocument doc = new XmlDocument();
doc.LoadXml(xmlString);
StringBuilder sb = new StringBuilder();
System.IO.TextWriter tr = new System.IO.StringWriter(sb);
XmlTextWriter wr = new XmlTextWriter(tr);
wr.Formatting = Formatting.Indented;
doc.Save(wr);
wr.Close();
return sb.ToString();
}
4
Można dołączyć do wiązania konwerter i wywołanie wewnątrz konwertera do kodu formatowania.
To jest przykład kodu, który formatuje XML:
public string FormatXml(string xml)
{
var doc = new XmlDocument();
doc.LoadXml(xml);
var stringBuilder = new StringBuilder();
var xmlWriterSettings = new XmlWriterSettings
{Indent = true, OmitXmlDeclaration = true};
doc.Save(XmlWriter.Create(stringBuilder, xmlWriterSettings));
return stringBuilder.ToString();
}
a test pokazuje Zastosowanie:
public void TestFormat()
{
string xml = "<root><sub/></root>";
string expectedXml = "<root>" + Environment.NewLine +
" <sub />" + Environment.NewLine +
"</root>";
string formattedXml = FormatXml(xml);
Assert.AreEqual(expectedXml, formattedXml);
}
3
Czy istnieje inna kontrola, która to robi?
Tak, wystarczy wyświetlić plik XML w formancie przeglądarki.
<WebBrowser x:Name="wbOriginalXml" />
Wystarczy przejść do zapisanego xml
wbOriginalXml.Navigate(new Uri(@"C:\TempResult\Manifest.xml"));
The wyniki są automatycznie drzewo-ed w przeglądarce, gdzie węzły mogą być składane:
Powiązane problemy
- 1. Walidacja w polu tekstowym w WPF
- 2. Parametr polecenia WPF w polu tekstowym
- 3. Wyświetlenie przycisku "wyczyść" (przycisk usuwania) w polu tekstowym webappera iPhone'a
- 4. Wyświetlenie przewijania wraz z przewijaniem w polu tekstowym
- 5. Błąd w polu tekstowym
- 6. Keyboard.Focus nie działa w polu tekstowym w WPF
- 7. Jak wyłączyć Cofanie w polu tekstowym w WPF?
- 8. Zezwalaj tylko na wpis numeryczny w polu tekstowym WPF
- 9. jak podświetlić/wybrać tekst w polu tekstowym wpf bez fokusa?
- 10. Czy mogę pokolorować różne części tekstu w polu tekstowym WPF?
- 11. Koncentracja kursora na polu tekstowym w WPF/C#
- 12. Wyświetlanie obrazu w polu tekstowym
- 13. Odznacz tekst w polu tekstowym
- 14. CSS Centrum polu tekstowym
- 15. WPF ComboBox z edytowalnym polu tekstowym jako elementu
- 16. Format DataTime w polu tekstowym w szynach
- 17. Wyłącz autouzupełnianie w polu tekstowym w Django?
- 18. Jak zaktualizować wartość w jednym polu tekstowym na podstawie wartości wprowadzonej w innym polu tekstowym?
- 19. Zapobieganie migotaniu kursora w polu tekstowym
- 20. Jak wyłączyć zawijanie tekstu w polu tekstowym?
- 21. jQuery: Przechwytywanie klawisza TAB w polu tekstowym
- 22. Wykryj pole UISearchBar w polu tekstowym
- 23. jak wyświetlić wersję publiczną w polu tekstowym?
- 24. Sprawdź skrypt w polu tekstowym asp.net
- 25. Wywołaj akcję w polu tekstowym z przycisku
- 26. Zmiana koloru tekstu w polu tekstowym
- 27. Python Tkinter słuchacz w polu tekstowym
- 28. Angular2 - Ustawianie ostrości w polu tekstowym
- 29. automatycznie zmienia kierunek tekstu w polu tekstowym
- 30. Zaznaczanie tekstu w polu tekstowym UIAlertController
ten działa tylko na plikach XML, a nie na zmiennych XML w pamięci – DdW
@DdW Tak, trzeba by zapisać do pliku tymczasowego, jeśli XML jest w pamięci. – OmegaMan