2011-01-17 16 views
1

Ich schreibe eine Anwendung, die Bilddateien aus .css extrahiert. Zuerst habe ich scannen die HTML-Datei alle CSS-Dateien zu extrahieren:Wie bekomme ich die Ziel-URL?


In HTML ich so etwas wie dieses:

<link rel="stylesheet" type="text/css" media="screen" href="TemplatesFBL/Styles/screen.css" /> 

www.mysite.com/Templates/Styles/screen.css ist mein erster Ziellink.
In dieser Datei kann ich so etwas wie dieses:

background-image: url ('../ Images/CssImg/pageShadowSides.gif');

Die Frage ist, wie kann ich www.mysite.com/Templates/Styles und ../Images/CssImg/pageShadowSides.gif um www.mysite.com/Templates zu bekommen kombinieren /Images/CssImg/pageShadowSite.gif?
Kann ich eine eingebaute Funktion verwenden oder muss ich meine eigene schreiben?

Jede Hilfe würde sehr geschätzt werden!

Antwort

2

Sie suchen nach dem Uri class.

Shop eine Uri für die Basis-URL, erstellen Sie eine neue Uri mit einem relativen Pfad:

var baseUri = new Uri("http://www.mysite.com/Templates/Styles/screen.css", UriKind.Absolute); 
var fullUri = new Uri(baseUri, "../Images/CssImg/pageShadowSides.gif"); 

Beachten Sie, dass die CSS-Dateiname sollte in der URL enthalten sein.
Da es nicht in einem Schrägstrich endet, erkennt der Uri-Parser, dass es ein Dateiname ist und sich korrekt verhält.