IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Parsing XHTML 1.1 à l'aide du XML erreur que je ne comprends pas


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    CUCARACHA
    Invité(e)
    Par défaut Parsing XHTML 1.1 à l'aide du XML erreur que je ne comprends pas
    Salut,

    J'ai besoin de parser une partie d'un document HTML.
    Comme j'aimerais utiliser les XPath, j'ai procédé comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    						string htmlToParse = @"<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.1//EN"" ""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"">";
    						htmlToParse += "\n";
    						htmlToParse += @"<html xmlns=""http://www.w3.org/1999/xhtml"">";
    						htmlToParse += "\n";
    						htmlToParse += @"<head>";
    						htmlToParse += "\n";
    						htmlToParse += @"<title>none</title>";
    						htmlToParse += "\n";
    						htmlToParse += @"</head>";
    						htmlToParse += @"<body>";
    						htmlToParse += "\n";
    						htmlToParse += model.ModelToEdit.NewContent;
    						htmlToParse += "\n";
    						htmlToParse += @"</body>";
    						htmlToParse += "\n";
    						htmlToParse += @"</html>";
    						Hierarchy dbHierarchyParent = _context.Hierarchy_Rep.Query(x => x.Id == -ContentId).FirstOrDefault();
    						XmlDocument oXmlDocument = new XmlDocument();
    						oXmlDocument.PreserveWhitespace = true;
    						oXmlDocument.XmlResolver = new INNOVACALL.Framework.Common.XMLTools.HtmlResolver();
    						XmlNamespaceManager ns = new XmlNamespaceManager(oXmlDocument.NameTable);
    						ns.AddNamespace("html", "http://www.w3.org/1999/xhtml");
    						oXmlDocument.LoadXml(htmlToParse);
    						XmlNodeList nodes = oXmlDocument.SelectNodes("//div[@class='mceEditable']", ns);
    						foreach(XmlNode node in nodes){
    							string nodeId = node.Attributes["id"].ToString();
    						}
    Lorsque j’exécute le code, j'obtiens l'erreur :

    Impossible de résoudre le sous-ensemble DTD externe - ID public = '-//W3C//DTD XHTML 1.1//EN', ID système = 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'.
    J'ai fais le test, j'ai saisi l'adresse dans un navigateur et je tombe bien sur le DTD du W3C.

    Quelqu'un pourrait-il m'expliquer le problème ?

    D'avance merci

    Laurent
    Dernière modification par Deepin ; 11/06/2012 à 11h49.

  2. #2
    CUCARACHA
    Invité(e)
    Par défaut
    Ceci ne résout pas le problème directement mais c'est un contournement efficace :

    http://htmlagilitypack.codeplex.com

    Ca a l'air super puissant...

    ++

    Laurent

  3. #3
    CUCARACHA
    Invité(e)
    Par défaut
    Bon, inutile de réinventer la roue, cette bibliothèque est une tuerie...

    ++

    Laurent

Discussions similaires

  1. [XHTML] Caractères que je ne comprend pas
    Par bibom dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 13/08/2006, 17h43
  2. [Aide] Construire XML / Recuperer ressources machine
    Par JamesP dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 16/01/2006, 18h56
  3. demande aide pour XML/XSL
    Par Jarod51 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 11/01/2006, 19h10
  4. Aide en XML svp
    Par crashyear dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 11/01/2006, 15h18
  5. [servlet][xml] Erreur de parsing
    Par james2001 dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 03/11/2005, 07h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo