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

Ein fröhliches Hallo!

ich suche eine Azubi-Verständliche Lösung zu einem Problem:

Ich habe XML-Dateien mit Sonderzeichen (Á, Ö, &, Ë,...), also die ganze Palette und möchte diese im XML-Stil maskieren (aus '&' wird '&' ,...).

Jetzt möchte ich natürlich nicht jedes einzelne Zeichen suchen und ersetzen, gibt es da bereits eine Klasse die ich benutzen kann? Ich weiß das es einiges mit XML gibt, aber so wirklich verstehen tu ich es nicht :(

https://msdn.microsoft.com/de-de/library/4zhk8s1x(v=vs.110).aspx

Das schreibt zum Beispiel eine XML und maskiert Sonderzeichen, aber ich muss keine XML schreiben die existiert ja schon...

Würde mich freuen wenn mir jemand auf die Sprünge helfen könnte.

 

Tician

 

Edit: Ich hab gerade gesehen das auch die Zeichen "<" und ">" so maskiert werde würden, das will ich natürlich nicht, ich will nur die Werte innerhalb der Klammern (ich hab keine AHnung was der Begriff dafür ist) maskieren.

Beispiel:

<blabla>Hö</blabla>

Soll so aussehen:

<blabla>H&#246;</blabla>

 

Bearbeitet von Tician

Gelöst von Whiz-zarD

Zur Lösung
  • Autor

Das klingt gut. Wurde 2016 veröffentlicht, kann es sein das mein VS 2015 zu alt ist?

Ich kam inspiriert von deinem Link auf folgende Seite die auch ein Beispiel hat:

https://msdn.microsoft.com/de-de/library/7c5fyk1k(v=vs.110).aspx

Aber selbst mit den Namespaces 

System.Web

System.IO

System.Net

kennt mein VS kein "WebUtility.HtmlDecode" und auch kein "HttpUtility.HtmlEncode". Auch die Mögliochkeiten zur automatischen Fehlerkorrektur die einem normalerweise auch die fehlenden Namespace anzeigt gibt mir kein Ergebnis außer die EIgenschaft oder Klasse selbst zu generieren.

 

Bearbeitet von Tician

  • Autor

Ahrgs langsam, ich bin FISI-Azubi, was ist ein Zielprofil? Projekttyp... äh Konsolenanwendung?

Pseudo-unvollständiger Code (sollte aber ausreichen):

using System;
using System.Text;
using System.IO;
using Microsoft.Win32;
using System.Web;
using System.Net;

namespace XML
{
    class Program
    {
        static void Main(string[] args)
        {

            try
            {

                                foreach (string s in line)
                                {
                                    //data[count] = s.Replace("&", "&amp_;");
                                    data[count] = HttpUtility.HtmlEncode(s);
                                    count = count + 1;
                                }
			}

            catch (Exception ex)
            {
                Console.WriteLine(ex);
                Console.ReadKey();
            }
        }
    }
}

Dieses HttpUtility wird einfach nicht erkannt.

"Der Name "HttpUtility" ist im aktuellen Kontext nicht vorhanden.

Edit: Das Forum interpretiert das maskierungszeichen für "&" deswegen habe ich einen Unterstrich rein gesetzt, sollte nur ein Beispiel sein.

Bearbeitet von Tician

vor 56 Minuten schrieb Tician:

data[count] = HttpUtility.HtmlEncode(s);

Nicht HttpUtility, sondern WebUtility :)

Also mein VisualStudios2013 kennt es jedenfalls, wenn ich System.Net einbinde. Und es funktioniert auch einwandfrei.

Was ist data[count] denn für ein Datentyp? Die Methode gibt einen String zurück, also muss data[count] auch ein String sein.

Bearbeitet von Rienne

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.