Zum Inhalt springen
  • 0

C# maskieren in xml-Dateien


Frage

Geschrieben (bearbeitet)

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

7 Antworten auf diese Frage

Empfohlene Beiträge

  • 1
Geschrieben (bearbeitet)
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
  • 0
Geschrieben (bearbeitet)

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
  • 0
Geschrieben (bearbeitet)

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
  • 0
Geschrieben (bearbeitet)

Hat funktioniert, danke!

Ich scheine echt zu doof zu sein, ich könnte schwören das hatte ich auch ausprobiert...

Bearbeitet von Tician

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...