XPath Belgesi Değerlendirme Yöntemi C#

XPath, XPath ifadesinde tanımlanan bazı ölçütlerle eşleşen belirli düğümleri bulmak için kullanılabilir. Bir XML veya HTML belgesinde gezinmek için XPath sorgusunu kullanabilirsiniz. Buna göre, bu makale, gereksinimlerinize göre belirli düğümleri seçmek için XPath’in nasıl kullanılacağını açıklar.

XML veya HTML Dosyalarından Düğüm Seçmek için XPath ile Çalışma - C# API Kurulumu

Aspose.HTML for .NET API, belirli türdeki düğümleri seçme sürecini otomatikleştirmek veya seçilen düğümden belirli bilgileri okumak için kullanılabilir. Yeni Sürümler sayfasından DLL dosyasını indirerek veya aşağıdaki NuGet kurulum komutunu kullanarak API’yi hızlı bir şekilde yapılandırabilirsiniz:

PM> Install-Package Aspose.Html

C# dilinde bir HTML Web Sayfasından Görüntü Almak için XPath Document.Evaluate() Yöntemini Kullanın

Bir HTML web sayfasından resim almak için Document.Evaluate() yöntemini kullanabilirsiniz. Bu işlemi tamamlamak için lütfen aşağıdaki adımları izleyin:

  1. Kaynak dosyayı yüklemek için HTMLDocument sınıfından bir nesne başlatın.
  2. Evaluate yöntemine XPath ifadesini ve diğer parametreleri iletin.
  3. Seçilen düğümleri yineleyin ve her görüntü için bağlantıyı alın.

Aşağıdaki kod örneği, bir HTML web sayfasından resim almak için XPath Document.Evaluate() yönteminin nasıl kullanılacağını gösterir:

// Bir HTML belgesinin örneğini oluşturun
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "xpath.htm")))
{
    // XPath ifadesini değerlendirin
    var result = doc.Evaluate("//main/div[position() mod 2 = 1]//img[@class = 'photo']", doc, doc.CreateNSResolver(doc), Aspose.Html.Dom.XPath.XPathResultType.Any, null);

    // Ortaya çıkan düğümler üzerinde yineleme yapın ve bunları konsola yazdırın
    Aspose.Html.Dom.Node node;
    while ((node = result.IterateNext()) != null)
    {
        var img = (Aspose.Html.HTMLImageElement)node;
        Console.WriteLine(img.Src);
    }
}

C#’ta XML Dosyasından Düğümleri Seçmek için XPath Document.Evaluate() Yöntemini Kullanın

Bazı durumlarda, bir XML dosyasından belirli düğümler seçmeniz gerekebilir. Aşağıdaki adımlar, bu gereksinimlerin nasıl karşılanacağını açıklamaktadır:

  1. Kaynak XML dosyasını HTMLDocument sınıfıyla yükleyin.
  2. XPath ifadesini ve diğer parametreleri geçirirken Evaluate yöntemini çağırın.
  3. Seçilen düğümler üzerinde yineleme yapın ve seçilen düğümlerin tüm içeriğini yazdırın.

Aşağıdaki kod parçacığı, XML dosyasından düğümleri seçmek için XPath Document.Evaluate yönteminin nasıl kullanılacağını gösterir:

// Bir belgenin örneğini oluşturma
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // XPath ifadesini değerlendirin
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Ortaya çıkan düğümler üzerinde yineleme yapın ve içeriklerini konsola yazdırın
    while ((dealer = dealers.IterateNext()) != null)
    {
        Console.WriteLine(dealer.TextContent);
    }
}

C#’ta Seçili Düğümlerden Belirli Bilgileri Seçmek için XPath Document.Evaluate() Yöntemini Kullanın

Bazen tüm içerik yerine bir Düğümden belirli ayrıntıları almanız gerekebilir. Seçilen düğümlerden belirli bilgileri almak için XPath sorgusunu kullanmak için aşağıdaki adımları takip edebilirsiniz.

  1. HTMLDocument sınıfını kullanarak giriş XML dosyasına erişin.
  2. XPath ifadesiyle eşleşen düğümleri almak için Evaluate yöntemini çağırın.
  3. Eşleşen düğümler arasında dolaşın ve her düğümden belirli içeriği yazdırın.

Aşağıdaki kod örneği, XPath Document.Evaluate yöntemini kullanarak XML’de seçili bir düğümden belirli bilgilerin nasıl seçileceğini açıklar:

// Bir belgenin örneğini oluşturma
using (var doc = new Aspose.Html.HTMLDocument(Path.Combine(dataDir, "cars.xml")))
{
    // XPath ifadesiyle eşleşen bayileri seçin
    var dealers = doc.Evaluate("//Dealer[descendant::Car[descendant::Model > 2005 and descendant::Price < 25000]]", doc, doc.CreateNSResolver(doc), XPathResultType.Any, null);
    Aspose.Html.Dom.Node dealer;

    // Seçilen bayileri yineleyin
    while ((dealer = dealers.IterateNext()) != null)
    {
        // Bayi adını ve Telefonunu alın ve yazdırın
        var dealerInfo = doc.Evaluate("concat('Dealer name: ', Name, ' Telephone: ', Telephone)", dealer, doc.CreateNSResolver(doc), XPathResultType.String, null);
        Console.WriteLine(dealerInfo.StringValue);

        // XPath ifadesiyle eşleşen CarID'yi seçin ve yazdırın
        var carIds = doc.Evaluate(".//Car[descendant::Model > 2005 and descendant::Price < 25000]/@CarID", dealer, doc.CreateNSResolver(doc), XPathResultType.Any, null);
        Aspose.Html.Dom.Node carId;

        while ((carId = carIds.IterateNext()) != null)
        {
            Console.WriteLine("Car id: " + carId.TextContent);
        }
    }
}

C#’ta Düğümleri Seçmek için XPath Kullanın - Devamını Okuyun

Belgeleme bölümündeki aşağıdaki konuları ziyaret ederek XPath Query ile çalışma hakkında daha fazla ayrıntı öğrenebilirsiniz.

C#’ta HTML veya XML’den Düğümleri Seçmek için XPath Sorgusu - Ücretsiz Değerlendirme Lisansı

Ücretsiz geçici lisans talep ederek API özelliklerini herhangi bir sınırlama olmaksızın tam kapasitelerinde test edebilirsiniz.

Çözüm

Bu makalede, XPath ifadesiyle eşleşen belirli düğümleri veya seçilen düğümlerin belirli içeriklerini seçmek için XPath Query Document.Evaluate yöntemini nasıl kullanacağınızı öğrendiniz. Bununla birlikte, endişelerinizden herhangi birini tartışmak isterseniz, lütfen ücretsiz destek forumu aracılığıyla bize ulaşın.

Ayrıca bakınız

C# kullanarak HTML’de CSS Seçicileri kullanın