Como podría remover el HTML de una página web con C#?

Iniciado por KiddKeo, 28 Febrero 2017, 12:53 PM

0 Miembros y 1 Visitante están viendo este tema.

KiddKeo

Hola buenas a todos, estoy empezando en esto de la programación y quería saber si hay alguna manera de borrar el codigo HTML de una pagina desde una string?
Por ejemplo:
La web tiene un title llamado Hola
string title = "Hola"
Como podría hacer para borrar ese código?
Gracias a todos!


engel lex

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

okik

#2
hola


puedes acceder a tu hosting usando la clase WebRequestMethods:
Clase WebRequestMethods.Ftp

WebRequestMethods.Ftp.MakeDirectory   (para crear directorios)


WebRequestMethods.Ftp.DownloadFile    (para descargar)

Cómo: descargar archivos mediante FTP


WebRequestMethods.Ftp.UploadFile    (para subir archivos)

Cómo: cargar archivos con FTP


WebRequestMethods.Ftp.DeleteFile    (para eliminar archivos)




Simplemente descarga el contenido del archivo del hosting, lo modificas en una caja de texto y luego lo vuelves a subir.

En este ejemplo al pulsar Button1 descarga el archivo y lo muestra en un textBox. Al pulsar el Button2 sube el archivo y sobrescribe el original por el contenido del TextBox (si no existe lo crea)

Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Net;
namespace WindowsFormsApplication1
{
   public partial class Form1 : Form
   {
       public Form1()
       {
           InitializeComponent();
       }

       private void Form1_Load(object sender, EventArgs e)
       {

       }


       private void button1_Click(object sender, EventArgs e)
       {
           // Get the object used to communicate with the server.
           FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
           request.Method = WebRequestMethods.Ftp.DownloadFile;

           // This example assumes the FTP site uses anonymous logon.
           request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com");

           FtpWebResponse response = (FtpWebResponse)request.GetResponse();

           Stream responseStream = response.GetResponseStream();
           StreamReader reader = new StreamReader(responseStream);
          textBox1.Text= (reader.ReadToEnd());

 
           reader.Close();
           response.Close();  

       }

       private void button2_Click(object sender, EventArgs e)
       {
           byte[] Data = System.Text.Encoding.Unicode.GetBytes(textBox1.Text);
           FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://www.contoso.com/test.htm");
           request.Method = WebRequestMethods.Ftp.UploadFile;
           request.ContentLength = Data.Length;
           request.Credentials = new NetworkCredential("anonymous","janeDoe@contoso.com");
           Stream requestStream = request.GetRequestStream();
           requestStream.Write(Data, 0, Data.Length);
           requestStream.Close();
           FtpWebResponse response = (FtpWebResponse)request.GetResponse();
           response.Close();
       }
   }
}





Eleкtro

#3
Si te refieres a eliminar el código interno, el Html, para dejar solamente el texto asignado en los atributos, campos o tags, tan solo tienes que utilizar la propiedad InnerText del tipo HtmlElement.

Tomando este documento html de ejemplo:
Código (html4strict) [Seleccionar]
<!DOCTYPE html>
<HTML>
   <HEAD>
       <TITLE>My Title</TITLE>
   </HEAD>
   <BODY>
       <h1>My Heading</h1>
       <p>My Paragraph</p>
  </BODY>
</HTML>


Lo cargamos en una nueva instancia del tipo WebBrowser y...
Código (csharp) [Seleccionar]
string html = File.ReadAllText("C:\\Document.htm");

using (WebBrowser wb = new WebBrowser()) {
   wb.ScriptErrorsSuppressed = true;
   wb.DocumentText = html;
   wb.Document.OpenNew(replaceInHistory: true);
   wb.Document.Write(html);
   wb.Refresh();

   Console.Write(wb.Document.GetElementsByTagName("HTML")[0].InnerText);
}


Resultado de ejecución:
Cita de: Visual Studio's Debug ConsoleMy Title
My Heading
My paragraph

PD: Este ejemplo es con un archivo local, pero puedes hacer lo mismo descargando una página online, por supuesto.

¡Saludos!