Wiemy, że XPath jest stworzony do parsowania XML. A co z HTML5, ponieważ niekoniecznie przestrzega reguł XML?Czy XPath nadaje się do formatu HTML5?
Odpowiedz
Istnieją 2 XMLs: Lexical XML i XML. XPath działa na podstawie reprezentacji analizowanego XML, na przykład DOM lub XDM. W związku z tym można utworzyć sparsowany kod XML z leksykalnego HTML5, w ten sposób można zapytać HTML5 za pomocą XPath.
XPath jest dla zapytanie o DOM, nie parsowanie znaczników. DOM może być generowany z dokumentu HTML, więc możesz go zapytać za pomocą XPath.
Możesz z ogromnym zastrzeżeniem, że prawdopodobnie nie powinieneś, chyba że masz też.
Weźmy następujący kod HTML:
<div>
<p> Here is a paragraph
<p> Here is another, is it inside the first, who knows?
</div>
Teraz większość parser HTML będzie przyjąć, że powyższe środki to:
<div>
<p> Here is a paragraph </p>
<p> And another, is it inside the first, who knows? </p>
</div>
Teraz XPath /div/p[2]
powinien powrócić "And another..."
jednak, może to być równie dobrze interpretowana jako:
<div>
<p> Here is a paragraph
<p> And another, is it inside the first, who knows? </p>
</p>
</div>
Gdzie /div/p[2]
nic nie zwraca, a XPath /div/p/p
zwraca "And another..."
.
HTML nie jest XML i nie musi być dobrze uformowany, więc używanie technologii XML z HTML może prowadzić do idiosynkrazji. Tak długo, jak przyznajesz się, że powinieneś być w porządku.
- 1. Czy TensorFlow nadaje się do systemów rekomendacji
- 2. Czy libgdx nadaje się do gier 2d?
- 3. Czy Haskell nadaje się do obliczeń kwantowych?
- 4. SQLite nadaje się do równoczesnego czytania?
- 5. Szyny: czy samodzielny pasażer nadaje się do wdrożenia produkcyjnego?
- 6. Czy Dysk Google nadaje się do wykorzystania jako plik firmowy?
- 7. Czy hdf5 nadaje się do pomiarów w czasie rzeczywistym?
- 8. Czy Twitter Bootstrap nadaje się do ekranów dotykowych?
- 9. Czy Akka nadaje się do systemów z przejściowym zasięgiem sieci?
- 10. Czy Sphinx nadaje się już do dokumentacji C++?
- 11. Czy libGDX nadaje się do programowania aplikacji tylko na komputery?
- 12. Passport.js nie nadaje się do serializacji użytkownika
- 13. Dlaczego XAMPP nie nadaje się do produkcji?
- 14. Która konstrukcja wielbłąda nadaje się do transformacji?
- 15. Czy JAX-RS nadaje się jako szkielet MVC?
- 16. Konwersja wideo do formatu kompatybilnego z html5 (strona serwera)
- 17. Co sprawia, że Julia nie nadaje się do programowania ogólnego?
- 18. SSH.NET - Nie nadaje się metoda uwierzytelniania znaleźć
- 19. Który silnik bazy danych najlepiej nadaje się do implementacji bloga?
- 20. Czy SQLite nadaje się do użycia jako pamięć podręczna tylko do odczytu na serwerze WWW?
- 21. Czy sztuczka "my $ x if 0" nadaje się do tworzenia statycznych zmiennych dla Perls przed 5.10?
- 22. Czy funkcja skrótu w R nadaje się do anonimizacji identyfikatorów uczestników?
- 23. Szablony C++: jak określić, czy dany typ nadaje się do podklasy
- 24. Nokogiri xpath() czy operator?
- 25. Czy właściwości wiązania WPF ścieżka i XPath wzajemnie się wykluczają?
- 26. jmdns rejestruje się na interfejsie IPv4, ale nadaje IPv6
- 27. Konwersja do formatu waluty
- 28. przekonwertować do formatu tz
- 29. Aplikacja Intraweb HTML5, git i baza danych - czy mieszają się?
- 30. HTML Treebuilder XPath do ekstraktów
XPath, język ścieżki XML, to język zapytań do wybierania węzłów z dokumentu XML. [Wikipedia]: .Nigdy nie jest domem! – user2567191
Technicznie, XPath nie jest zdefiniowany do działania przeciwko DOM, ale przeciwko własnemu modelowi danych, który w XPath 2.0 nazywa się XDM. Istnieje proste mapowanie zdefiniowane z XML na XDM, ale możliwe jest również zdefiniowanie mapowania z HTML5 na XDM. Nie ma zdefiniowanego standardowego mapowania, ale w większości przypadków jest to dość oczywiste. –
@MichaelKay - Co masz na myśli mówiąc "dość oczywiste"? Mapowanie z serializacji HTML HTML5 do DOM nie jest wcale oczywiste. Czy rozumiesz, że odwzorowanie z kodowania DOM4 z HTML do XDM jest "dość oczywiste"? – Alohci