Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 75|Yanıt: 0

XML, HTML belge içeriğini almak için XPath kullanın

[Bağlantıyı kopyala]
Yayınlandı3 gün önce | | | |
XPath, HTML ve XML gibi ağaç yapısı verilerinden gerekli bilgileri doğru ve verimli şekilde belirleyen ve çıkaran bir teknolojidir.

XPath Genel Bakış

XPath, XML veya HTML belge ağacında belirli öğeleri ve öznitelikleri belirtmek ve çıkarmak için kullanılan bir dildir. Web sayfaları genellikle HTML'den oluştuğundan, XPath web kazıma, veri alma ve XML veri araması gibi çeşitli senaryolarda yaygın olarak kullanılır.

Tipik kullanım şekli şöyledir:

  • Web Tarayıcılarında Veri Çıkarma: XPath, e-ticaret sitelerindeki ürün bilgileri veya haber sitelerindeki makale başlıkları gibi belirli verileri otomatik olarak almak için kullanılır.
  • XML Veri Arama ve İşleme: İş sistemlerinde ve veri bağlantısı işlemede veri genellikle XML formatında değiş tokuş edilir. XPath kullanarak, büyük miktarda XML verisinden gerekli bilgileri verimli bir şekilde çıkarabilirsiniz.
  • API Yanıtlarını Ayrıştırma (XML Formatı): SOAP gibi XML tabanlı API'ler kullanılırken, yanıt verisini ayrıştırmak için XPath kullanılır. Bu, belirli durum kodlarını ve sonuç verilerini hızlıca elde etmenizi sağlar, sistem entegrasyonunun doğruluğunu ve otomatik işlemeyi artırır.

Araç önerisi

XPath öğrenme ve kullanma sürecinde yaygın araçlar şunlardır:

Chrome Geliştirici Araçları: Chrome tarayıcısıyla birlikte gelen güçlü bir araç, F12 tuşuna basarak adlandırabilirsiniz. "Öğeler" panelinde, bir web sayfasında HTML öğelerini hızlıca bulup üzerine gelerek tıklayabilirsiniz ve bir öğeye sağ tıklayarak XPath ifadesini doğrudan kopyalayarak kolayca doğrulama ve test yapabilirsiniz. Örneğin, bir e-ticaret ürün sayfasını analiz ederken, ürün isimleri, fiyatları ve diğer öğeler için XPath almak için Chrome geliştirici araçlarını hızlıca elde edebilirsiniz.
Firefox Geliştirici Araçları: Ayrıca Chrome Geliştirici Araçlarına benzer şekilde tarayıcı ile birlikte gelir. Ayrıca sayfanızdaki öğeleri kolayca bulmanızı ve XPath ifadelerini görüntülemenizi ve test etmenize olanak tanır. Firefox tarayıcısını kullanmaya alışkın geliştiriciler için iyi bir seçenektir.
Çevrimiçi XPath test araçları: "XPath Tester" gibi çevrimiçi araçlar kurulumsuz kullanılabilir ve bir web sayfası açılarak kullanılabilir. Sadece bir XML veya HTML belgesinin içeriğini yapıştırın, bir XPath ifadesi girin ve eşleşme sonuçlarını gerçek zamanlı olarak görün. Bu araç özellikle yeni başlayanlar için hızlı başlamak ve basit XPath egzersizleri yapmak için uygundur.
XPath Yardımcı Eklentisi: Chrome Tarayıcı'yı örnek alarak, XPath Helper eklentisini yükledikten sonra, webde gezinirken tarayıcı arayüzüne kayan bir pencere ekliyor, mevcut fare-over öğesinin XPath yolunu gösterir ve XPath ifadelerini doğrudan pencerede düzenleyip test edebilirsiniz, bu da geliştirme verimliliğini büyük ölçüde artırır.

XPath Soyut Sözdizimi

Bir düğüm seç

XPath, bir XML belgesinde düğümleri seçmek için yol ifadeleri kullanır. Düğümler, bir yol veya adım takip edilerek seçilir. En faydalı yol ifadeleri aşağıda listelenmiştir:
ifade
Açıklama
düğüm adıBu düğümün tüm child düğümlerini seçer.
/Kök düğümden seçin (çocuk düğümü alın).
//Belgedeki düğümleri, konumlarından bağımsız olarak, eşleşme seçiminin mevcut düğümünden seçer (sonraki düğümleri alın).
.Mevcut düğümü seçin.
..Mevcut düğümün ana düğümünü seçin.
@Bir özellik seçin.

Aşağıdaki tabloda, bazı yol ifadelerini ve ifadelerin sonuçlarını listeledik:
Yol ifadeleri
sonuç
kitabeviKitapçı adında tüm düğümleri seçin.
/bookstore
Kök element kitapçısını seçin.
Not: Eğer yol ileri doğru eğik çizgi ( /) ile başlarsa, bu yol her zaman bir elemana mutlak bir yolu temsil eder!
Kitapçı/KitapKitapçının çocuk unsurları olan tüm kitap öğelerini seçer.
//bookBelgedeki konumları ne olursa olsun tüm kitap alt öğelerini seçer.
Kitapçı//KitapKitapçı öğesinin töreni olan tüm kitap öğelerini, kitapçı altında nerede bulunduklarına bakılmaksızın, seçin.
@langLang adlı tüm mülkleri seçin.

Yüklemler

Bir predikat, belirli bir düğümü veya belirli bir değeri içeren bir düğümü bulmak için kullanılır.
Önlem kare parantez içinde gömülmüştür.
Aşağıdaki tabloda, önlemli bazı yol ifadelerini ve ifadelerin sonuçlarını listeliyoruz:
Yol ifadeleri
sonuç
/bookstore/book[1]Kitapçı çocuğu öğesinin bir parçası olan ilk kitap öğesini seçin.
/bookstore/book[last()]Kitapçı alt unsurunun son kısmını seçer.
/bookstore/book[last()-1]Kitapçı çocuğu öğesine ait olan sondan bir önceki kitap öğesini seçer.
/bookstore/book[position()<3]Kitapçı öğesinin alt öğeleri olan ilk iki kitap öğesini seçin.
Başlık[@lang]Lang adlı bir özelliği olan tüm başlık öğelerini seçer.
başlık[@lang='eng']Eng'i değeri olan dil özelliğine sahip tüm başlık öğelerini seçer.
/bookstore/book[price>35.00]Kitapçı öğesinin tüm kitap öğelerini seçer ve fiyat öğesinin değeri 35.00'dan büyük olmalıdır.
/bookstore/book[price>35.00]//titleKitapçı öğesinde kitap öğesinin tüm başlık öğelerini seçer ve fiyat öğesinin değeri 35.00'dan büyük olmalıdır.

Bilinmeyen bir düğüm seçin

XPath joker kartları, bilinmeyen XML öğelerini almak için kullanılabilir.
joker karakter
Açıklama
*Herhangi bir element düğümünü eşleştirir.
@*Herhangi bir özellik düğümünü eşleştirir.
node()Her tür düğümle eşleşir.

Aşağıdaki tabloda bazı yol ifadelerini ve bu ifadelerin sonuçlarını listeliyoruz:
Yol ifadeleri
sonuç
/bookstore/*Kitapçı öğesinin tüm alt öğelerini seçer.
//*Belgedeki tüm öğeleri seçer.
başlık[@*]Tüm başlık öğelerini nitelikli seçer.

Birkaç yol seçin

Yol ifadesinde "|" kullanılarak Operatörler, birkaç yol seçebilirsiniz.

Aşağıdaki tabloda bazı yol ifadelerini ve bu ifadelerin sonuçlarını listeliyoruz:
Yol ifadeleri
sonuç
//book/title | //book/priceKitap öğesinin tüm başlık ve fiyat öğelerini seçer.
başlık | fiyatBelgedeki tüm başlık ve fiyat unsurlarını seçin.
/bookstore/book/title | //priceKitapçı öğesine ait olan kitap öğesinin tüm başlık öğelerini ve belgedeki tüm fiyat öğelerini seçer.

XPath fonksiyonu

Aşağıda, temel XPath fonksiyonları ve XSLT tarafından XPath'a eklenen, açıklamalar, sözdizimi, parametre listeleri, sonuç türleri ve ilgili W3C önerilerindeki kaynaklar dahil olmak üzere yorumlanan bir listedir.

  • Boolean()
  • tavan()
  • seç()
  • concat()
  • contains()
  • count()
  • current() XSLT'ye özgü
  • belge() XSLT'ye özgü
  • element-available()
  • yanlış()
  • floor()
  • format-number() XSLT'ye özgü
  • fonksiyon-erişilebilir()
  • generate-id() XSLT'ye özgü
  • id()
  • key() XSLT'ye özgü
  • lang()
  • last()
  • local-name()
  • isim()
  • namespace-uri()
  • normalize-space()
  • not()
  • number()
  • pozisyon()
  • round()
  • başlar-with()
  • string()
  • string-length()
  • alt diz()
  • substring-after()
  • alt dizis-önce()
  • sum()
  • sistem-özellik() XSLT'ye özgü
  • çevir()
  • true()
  • unparsed-entity-url() XSLT spesifik

Pratik sınavlar

Chrome'u açın ve aşağıdaki komutla tüm A sekmesi bağlantılarının metin içeriğini alın:
Aşağıda gösterildiği gibi:



Referans:Bağlantı girişi görünür.




Önceki:[Oyun yazarı] (3) Hata istisnalarını yakalamak için otomatik test
Önümüzdeki:.NET/C# Azure Translator metin çeviri arayüzü hizmetini çağırır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com