Hallo,
ich bin gerade dabei, einen semantischen Parser für Webseiten zu bauen. Zum Test habe ich einen Seite der Delphi-PRAXiS genommen, um sie zu analysieren. Beim Herumspielen ist mir aufgefallen, dass ich den Container, in dem sich die Postings befinden, nicht per XPath finden kann. Mein
Query "//div[@id='posts']" gibt mir ein leeres Ergebnis, während "//*[@id='posts']" funktioniert. Kann mir das einer erklären?
Code:
var settings = new XmlReaderSettings {DtdProcessing = DtdProcessing.Ignore, XmlResolver = null};
var xmlReader = XmlReader.Create(File.OpenRead("test.html.xml"), settings);
var xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
var nodes = xmlDoc.DocumentElement.SelectNodes("//div[@id='posts']"); // Liste ist leer
//var nodes = xmlDoc.DocumentElement.SelectNodes("//*[@id='posts']"); // Element wird gefunden
Gruß
xaromz