2016-04-05 9 views
0

Ich bin Daten aus einer Website Schaben zu bekommen hilfreich Daten für meine Mitarbeiter, anstatt die Seite häufig zu aktualisieren.Ausgabenummern aus einem String mit Hex und Dezimalwerte

Der C# -Code zieht gerade Daten aus dem HTML. Aber die Daten werden auf eine seltsame Art und Weise verschlüsselt und kehren als nicht lesbare Zeichenfolge zurück, was für uns nicht hilfreich ist.

Zum Beispiel in der Tabelle, eine Produktnummer als „14.501.219“ angezeigt. Im HTML ist der innere Text des Elements mit den Daten, "& # 49; 4501 & # x32; & # x31, x39 & #;".

Ich muss wissen, wie man:

  1. Parse hex und dezimal in int aus dem gleichen String
  2. diese Ergebnisse Anhängen an den späteren Ausgang

Bisher habe ich das dieses aus Pseudo-Code, aber ich weiß nicht, wie es in C# aussehen würde oder welche Konvertierungsmethoden zu verwenden:

for (int i = 0; i < inputString.Length; i++) 
    { 
     if (inputString[i] = '&' && inputstring[i+1] = '#') 
      { 
       if (inputstring[i+2 = 'x' 
       { 
        //convert to hex 
        //append to outputList 
       } 
       else 
       { 
        //convert to decimal 
        //append to outputList 
       } 
      } 
     else 
      { 
       //convert to string literal 
      } 
    } 

Jede Hilfe wäre sehr

+0

Wissen Sie, ob die Zeichenfolge, die Sie sehen, ein String-Literal aus einem Hex oder einer Reihe von Raw-Byte-Zahlen ist? –

+0

Ich habe es behoben, Markdown automatisch die ursprüngliche Zeichenfolge in die gewünschte Zahl konvertiert, als ich es eintippte. –

+0

@lrb Ich bin mir nicht sicher. Wie würde ich wissen, ob es sich um ein String-Literal oder um rohe Bytes handelt? –

Antwort

0

geschätzt Nachdem Sie das Stringliteral Beispiel habe ich neu, was Sie sehen/zu fragen. Damit die HTTP-Client-Seite nicht auf einige spezielle Zeichen stößt, die unter Verwendung der acsii-Darstellung endotiert werden. Die meisten Frameworks haben eine Möglichkeit, mit der codierten URL zu arbeiten. Zum Beispiel in C# sollten Sie immer sicherstellen, HttpUtility.UrlDecode und HttpUtility.UrlEncode intern beim Lesen und Schreiben zu verwenden.