SelectSingleNode- und SelectNodes-XPath-SyntaxC#

Ein Treffpunkt für C#-Programmierer
Guest
 SelectSingleNode- und SelectNodes-XPath-Syntax

Post by Guest »

Meine Frage ist diesem einen XMLNode sehr ähnlich. Zustand/Schiffspreis ... Hier ist die URL, die ich kratze: http://www.amazon.com/gp/offer-listing/ ... dition=all


Code: Select all

    string results = "";
var w = new HtmlWeb();
var doc = w.Load(url);
var nodes = doc.DocumentNode.SelectNodes("//div[@class='a-row a-spacing-medium olpOffer']");

if (nodes != null)
{
foreach (HtmlNode item in nodes)
{
var price = item.SelectSingleNode(".//span[@class='a-size-large a-color-price olpOfferPrice a-text-bold']").InnerText;
var condition = item.SelectSingleNode(".//h3[@class='a-spacing-small olpCondition']").InnerText;
var price_shipping = item.SelectSingleNode("//span[@class='olpShippingPrice']").InnerText;
results += "price " + price + " condition " + condition + " ship " + price_shipping + "\r\n";
}
}
return results;
Egal welche Kombination ich versuche .// und. und ./ und / usw ... Ich kann nicht bekommen, was ich will (gerade jetzt versuche, xPaths zu lernen), auch wie die ursprüngliche Frage, auf die ich mich zuvor verwiesen habe. Ich denke, mir fehlt ein grundlegendes Verständnis dafür, wie die Auswahl von Knoten funktioniert und /oder was als Knoten angesehen wird. Update < /p>



OK, ich habe die URL geändert, um auf ein anderes Buch zu verweisen, und die ersten beiden Elemente funktionieren als Erwartet ... wenn ich versuche, den dritten Artikel (Price_Shipping) in eine ".//" zu ändern. Dies muss irgendwann zurückzuführen sein, dass es nicht einmal einen Versandpreis gibt und diese Spanne weggelassen wird. Wie gehe ich damit um? Ich habe es versucht, wenn price_shipping! = Null. />

gelöst. Ich habe das ".inNertext" aus dem Preis entfernt, der Probleme verursachte, als es Null war ... dann habe ich den Null -Check durchgeführt und dann war es sicher, .Innertext.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post