Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo Leute,

Ich habe eine Anwendung geschrieben die aus einem Webbrowser lesbaren XML Code macht.

Allerdings ist die Ausgabe zusammenhängend, das heißt es ist keinerlei Struktur in dem XML Code.

Nun zu meiner Frage : Gibt es für C# eine Methode die ich einbinden kann die beispielsweise nach jedem Tag einen Zeilenumbruch macht, damit ich Struktur in den XML Code bekomme, oder könnt ihr mir Stichworte nennen wonach ich für dieses Problem suchen soll?

freundlicher gruß ytmfb

Hi ytmfb!

Ist das valides XML, was du über die entsprechenden Klassen aufbereitest oder über Schleifen und Bastelei erzeugte Strings? Und was genau meinst du mit "aus einem Webbrowser lesbaren XML Code machen"?

Bei letzterem kann ich dir nur dringend raten, deinen Code hingehend der Verlinkung komplett zu refaktorisieren. ;) Grade, wenn es sich um längere Dokumente handelt.

Gruß, Goulasz

  • Autor

nunja es ist XML aus der Datenbank von einem SharePoint Server.

Die Ausgabe erfolgt in dem Webbrowser Steuerelement meiner Windows Forms Anwendung in Visual Studio 2010 ( C# ).

Allerdings verunstaltet es mir die Ausgabe beim abspeichern des Codes in ein Textdokument.

Entweder fügt er noch Informationen hinzu die der IE / Browser benötigt beim interpretieren oder sämtliche Syntax geht verloren weil der Text aneinanderhängend ist ( keine Zeilenumbrüche ).

<tag>test</tag><tag2>test2</tag2>... endlos lang.

Ich bräuchte quasi an jeder stelle wo ein tag zugeht einen Zeilenumbruch damit ich wenigstens eine überschaubare Struktur im Textdokument habe

<tag>

test

</tag>

<tag2>

test2

</tag2>

Einrückungen wären egal.

Hoffe ich konnte mich präziser ausdrücken.

Gruß, YTMFB

  • Autor

Das war mein Ansatz, allerdings kommt am ende nicht der Code raus wie er beim Debuggen mit Breakpoint in der Variable steht -

private void buttonSaveAs_Click(object sender, EventArgs e)

{

SaveFileDialog SFD = new SaveFileDialog();

SFD.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";

SFD.FilterIndex = 1;

SFD.RestoreDirectory = true;

if (SFD.ShowDialog() == DialogResult.OK)

{

string path = SFD.FileName;

string text = txtOuput.Text ;

System.IO.File.WriteAllText( path, txtOuput.Text);

}

}

Die Ausgabe sieht allerdings so aus :

14.0.0.7106.0.0<FieldRef Name="test"/><FieldRef Name="_test" ColName="test"/><FieldRef Name="test"/><FieldRef Name="test" ColName="test"/><FieldRef Name="test" ColName="test"/><FieldRef Name="test" ColName="test" ... etc

Anstatt

14.0.0.7106.0.0

<FieldRef Name="test"/>

<FieldRef Name= "test"/>

<FieldRef Name="test"/>

etc..

  • Autor

private void buttonSaveAs_Click(object sender, EventArgs e)

{

SaveFileDialog SFD = new SaveFileDialog();

SFD.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*";

SFD.FilterIndex = 1;

SFD.RestoreDirectory = true;

if (SFD.ShowDialog() == DialogResult.OK)

{

// insert \n

string text = txtOuput.Text;

string pattern = "</(?<tag>.*?)>";

string replacement = "</{tag}>\n";

Regex rgx = new Regex(pattern);

string result = rgx.Replace(text, replacement);

result = result.Replace("/>", "/>\n");

string path = SFD.FileName;

System.IO.File.WriteAllText( path, text);

}

}

Habs mal mit Regex versucht, klappt allerdings auch nicht wirklich

  • Autor

Ah, hat sich nun gelöst. Das Problem war das die Ausgabe in XML direkt in HTML interpretiert wird. Speichere ich die Datei nicht als XML oder TXT ab sondern als HTML klappt es.

Der XmlWriter kann über XmlWriterSettings auch Zeilenumbrüche und Einrückungen schreiben.

Man könnte das Dokument über XmlReader einlesen und mit einem entsprechend eingestellten XmlWriter das ganze wieder weg schreiben.

  • Autor
Jo und das ist der Grund warum in jeder Stellenbeschreibung im Internet dann am besten ein Master Abschluss benötigt wird, mit 60 Jahren Berufserfahrung etc. ;)

Weiß nicht was du damit sagen willst, bin gerade mal in meiner Ausbildung & kann leider nicht alles wissen

Der XmlWriter kann über XmlWriterSettings auch Zeilenumbrüche und Einrückungen schreiben.

Man könnte das Dokument über XmlReader einlesen und mit einem entsprechend eingestellten XmlWriter das ganze wieder weg schreiben.

Ich guck mir das mal an danke :)

Weiß nicht was du damit sagen willst, bin gerade mal in meiner Ausbildung & kann leider nicht alles wissen

Entschuldige bitte, das kam ein bisschen Sch...e von mir rüber, nichts für ungut.

Keiner von uns kann alles wissen, das verlangt auch keiner. Es wirkte so, dass du den Fall, trotz SilentDemise' Tipp, "abgeschlossen" hattest, nach dem der Browser für dich die Dokumentenstruktur erahnt hatte.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.