Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 75|Відповідь: 0

Використовуйте XPath для отримання XML, HTML-вмісту документів

[Копіювати посилання]
Опубліковано3 дні тому | | | |
XPath — це технологія, яка точно та ефективно визначає та витягує необхідну інформацію з даних структури дерева, таких як HTML і XML.

Огляд XPath

XPath — це мова, що використовується для визначення та вилучення конкретних елементів і атрибутів у дереві документів XML або HTML. Оскільки веб-сторінки часто складаються з HTML, XPath широко використовується в різних сценаріях, таких як веб-скрейпінг, пошук даних та пошук даних у XML.

Типове використання таке:

  • Витяг даних у веб-краулерах: XPath використовується для автоматичного отримання конкретних даних, таких як інформація про продукти на веб-сайтах електронної комерції або заголовки статей на новинних сайтах.
  • Пошук і обробка даних у XML: У бізнес-системах та обробці даних часто обмінюються у форматі XML. Завдяки XPath ви можете ефективно витягувати необхідну інформацію з великих обсягів XML-даних.
  • Парсінг API Responses (XML Format): При використанні XML-API, таких як SOAP, XPath використовується для аналізу даних відповідей. Це дозволяє швидко отримувати конкретні коди статусу та дані результатів, підвищуючи точність інтеграції системи та автоматизованої обробки.

Рекомендації інструментів

У процесі навчання та використання XPath поширені інструменти включають:

Інструменти розробника Chrome: потужний інструмент у комплекті з браузером Chrome, його можна викликати, натиснувши клавішу F12. У панелі «Elements» ви можете швидко знайти HTML-елементи на веб-сторінці, навівши курсор і клацнувши, а клацнувши правою кнопкою миші на елементі, можна безпосередньо скопіювати вираз XPath для зручної перевірки та тестування. Наприклад, при аналізі сторінки товару в електронній комерції ви можете використовувати інструменти розробника Chrome, щоб швидко отримати XPath для назв товарів, цін та інших елементів.
Firefox Developer Tools: Також постачається з браузером, подібно до Chrome Developer Tools. Це також дозволяє легко знаходити елементи на вашій сторінці, а також переглядати та тестувати вирази XPath. Це хороший варіант для розробників, які звикли користуватися браузером Firefox.
Онлайн-інструменти тестування XPath: Онлайн-інструменти, такі як «XPath Tester», можна використовувати без встановлення і відкривати веб-сторінку. Просто вставте вміст XML або HTML-документа, введіть вираз XPath і побачте результати матчу в реальному часі. Цей інструмент особливо підходить для початківців, щоб швидко почати виконувати прості вправи XPath.
Плагін XPath Helper: Візьмемо браузер Chrome як приклад: після встановлення плагіна XPath Helper додається плаваюче вікно в інтерфейс браузера під час перегляду вебу, яке відображає шлях XPath поточного елемента для наведення миші, а також можна редагувати та тестувати вирази XPath безпосередньо у вікні, що значно підвищує ефективність розробки.

Синтаксис XPath Abstract

Виберіть вузол

XPath використовує вирази шляхів для вибору вузлів у XML-документі. Вузли вибираються шляхом або кроком. Найкорисніші вирази шляхів наведені нижче:
вираз
опис
Ім'я вузлаВибирає всі дочірні вузли цього вузла.
/Виберіть з кореневого вузла (візьмемо дочірній вузол).
//Вибирає вузли в документі з поточного вузла відповідного вибору, незалежно від їхнього розташування (візьмемо нащадки).
.Виберіть поточний вузол.
..Виберіть батьківський вузол поточного вузла.
@Виберіть атрибут.

У таблиці нижче ми перелічили деякі вирази шляхів разом із результатами цих виразів:
Вирази шляхів
результат
Книжковий магазинВиберіть усі вузли з назвами bookstore.
/bookstore
Виберіть книгарню кореневого елемента.
Примітка: Якщо шлях починається з косої косої черти вперед ( / ), то цей шлях завжди є абсолютним шляхом до елемента!
Книгарня/КнигаОбирає всі книжкові елементи, які є дитячими елементами книгарні.
//bookОбирає всі піделементи книги, незалежно від їхнього положення в документі.
Книгарня//книгаВиберіть усі елементи книги, які є нащадками елемента книгарні, незалежно від того, де вони розташовані в межах магазину.
@langВиберіть усі властивості з назвою lang.

Предикатів

Предикат використовується для пошуку конкретного вузла або вузла, що містить задане значення.
Предикат вбудований у квадратні дужки.
У таблиці нижче наведено деякі вирази шляхів із предикатами та результати цих виразів:
Вирази шляхів
результат
/bookstore/book[1]Виберіть перший елемент книги, який є частиною дитячого елемента книгарні.
/bookstore/book[last()]Обирає останній елемент книги, який є частиною піделемента книгарні.
/bookstore/book[last()-1]Обирає передостанній елемент книги, який належить дитячому елементу книгарні.
/bookstore/book[position()<3]Виберіть перші два елементи книги, які є дочірніми елементами елемента книгарні.
Заголовок[@lang]Вибирає всі елементи титулу, які мають власність з назвою lang.
title[@lang='eng']Вибирає всі елементи назви, які мають атрибут lang і значення eng.
/bookstore/book[price>35.00]Вибирає всі елементи книги з елемента книгарні, і вартість цінового елемента має бути більшою за 35.00.
/bookstore/book[price>35.00]//titleВибирає всі елементи назви елемента книги в елементі книгарні, і вартість цінового елемента має бути більшою за 35.00.

Виберіть невідомий вузол

XPath wildcards можна використовувати для виявлення невідомих XML-елементів.
Узагальнення
опис
*Збігається з будь-яким елементним вузлом.
@*Відповідає будь-якому вузлу атрибуту.
node()Відповідає будь-якому типу вузла.

У таблиці нижче наведено деякі вирази шляхів і результати цих виразів:
Вирази шляхів
результат
/bookstore/*Обирає всі дочірні елементи елемента книгарні.
//*Вибирає всі елементи документа.
Заголовок[@*]Вибирає всі елементи титулу з атрибутами.

Виберіть кілька шляхів

Використовуючи "|" у виразі шляху Оператори, ви можете обрати кілька шляхів.

У таблиці нижче наведено деякі вирази шляхів і результати цих виразів:
Вирази шляхів
результат
//book/title | //book/priceОбирає всі елементи назви та ціни в елементі книги.
Заголовок | цінаВиберіть усі елементи назви та ціни в документі.
/bookstore/book/title | //priceВибирає всі елементи назви елемента книги, які належать до елемента книгарні, а також усі цінові елементи в документі.

Функція XPath

Нижче наведено прокоментований список доповнень, специфічних для XPath, до XPath від основних функцій XPath та XSLT, включаючи описи, синтаксис, списки параметрів, типи результатів і джерела у відповідних рекомендаціях W3C.

  • булев()
  • стеля()
  • choose()
  • concat()
  • містить()
  • count()
  • current() специфічно для XSLT
  • document() специфічно для XSLT
  • element-available()
  • false()
  • floor()
  • format-number() специфічний для XSLT
  • функція-доступна()
  • generate-id() специфічно для XSLT
  • id()
  • key() XSLT-специфічний
  • lang()
  • останній()
  • місцева назва()
  • ім'я()
  • Namespace-uri()
  • Нормалізувати-простір()
  • not()
  • number()
  • Позиція()
  • round()
  • старт-з()
  • string()
  • string-length()
  • substring()
  • substring-after()
  • substring-before()
  • sum()
  • system-property() специфічна для XSLT
  • Translate()
  • true()
  • unparsed-entity-url() специфічний для XSLT.

Практичні тести

Відкрийте Chrome і отримайте текстовий контент усіх посилань вкладки A за допомогою наступної команди:
Як показано нижче:



Посилання:Вхід за гіперпосиланням видно.




Попередній:[Драматург] (3) Автоматичне тестування для виявлення винятків помилок
Наступний:.NET/C# викликає сервіс інтерфейсу перекладу тексту Azure Translator
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com