Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 31367|Odpowiedź: 4

[Źródło] Pobierz pakiet Html Agility Pack i jak go używać

[Skopiuj link]
Opublikowano 04.08.2016 17:05:36 | | | |
Adres do pobrania:

http://htmlagilitypack.codeplex.com/

<HtmlNode> IEnumerable Ancestors();               Zwraca kolekcję wszystkich węzłów nadrzędnych tego elementu.
<HtmlNode> IEnumerable Ancestors (nazwa ciągu ciągu);                         Zwraca kolekcję wszystkich węzłów nadrzędnych, których nazwy parametrów odpowiadają temu elementowi.
<HtmlNode> IEnumerable AncestorsAndSelf();                          Zwraca wszystkie węzły nadrzędne oraz własną kolekcję tego elementu.
IEnumerable<HtmlNode> AncestorsAndSelf (nazwa ciągu znaków);                    Zwraca kolekcję wszystkich węzłów nadrzędnych oraz siebie, które odpowiadają nazwie tego elementu.
HtmlNode AppendChild(HtmlNode newChild);                            Dodaje element parametru do elementu potomnego, który wywołuje ten element (dołączony na końcu)
void AppendChildren(HtmlNodeCollection newChildren);              Dodaje elementy z kolekcji parametrów jako dzieci wywołującego elementu (dołączone na końcu)
HtmlNode PrependChild(HtmlNode newChild);                     Umieść element argumentu jako element potomny na górze elementu wywołującego
void PrependChildren(HtmlNodeCollection newChildren);              Umieść wszystkie elementy w zbiorze parametrów jako elementy potomne, przed elementem wywołującym
statyczny bool CanOverlapElement (nazwa ciągu znaków);                    Sprawdź, czy można zapisać zduplikowane elementy
IEnumerable<HtmlAttribute> ChildAttributes (nazwa ciągu ciągu);            Uzyskaj atrybuty wszystkich elementów potomnych (nazwy parametrów powinny odpowiadać nazwam elementów)
Klon HtmlNode();                                        Ten węzeł jest klonowany do nowego węzła
HtmlNode CloneNode(bool deep);                         Węzeł jest klonowany do nowego punktu, a parametry decydują o tym, czy klonować elementy potomne razem
HtmlNode CloneNode(string newName);                      Zmień nazwę pierwiastku podczas klonowania
HtmlNode CloneNode(string newName, bool deep);          Zmień nazwę pierwiastka podczas klonowania. parametr określający, czy klonować razem z elementami potomnymi
void CopyFrom(HtmlNode);                          Tworz duplikaty węzłów i poddrzew pod nimi.
void CopyFrom(HtmlNode node, bool deep);                    Utwórz kopię węzła.
XPathNavigator CreateNavigator();                                Jeden z nich wrócił dla tego dokumentu dla XPathNavigator
statyczny HtmlNode CreateNode(string html);                      Metoda statyczna pozwalająca na utworzenie nowego węzła za pomocą ciągu
XPathNavigator CreateRootNavigator();                      Stwórz XPathNavigator dla ścieżki głównej
IEnumerable<HtmlNode> DescendantNodes();                          Pobierz wszystkie węzły potomne
IEnumerable<HtmlNode> DescendantNodesAndSelf();                      Zdobądź wszystkie węzły potomne i siebie
<HtmlNode> IEnumerable Descendants();                     Pobierz wszystkie węzły potomne z listy enumeracyjnej
<HtmlNode> IEnumerable Descendants (nazwa ciągu znaków);               Pobierz wszystkie węzły potomne z listy enumeracyjnej i zauważ, że nazwy elementów odpowiadają parametrom
IEnumerable<HtmlNode> DescendantsAndSelf();                 Zdobądź wszystkie węzły potomne z listy enumeracyjnej, jak również siebie
IEnumerable<HtmlNode> DescendantsAndSelf (nazwa ciągu znaków);    Zdobądź wszystkie węzły potomne z listy enumeracyjnej i ich samych, i zwracaj uwagę na nazwy elementów, aby dopasowały się do parametrów
Element HtmlNode (nazwa ciągu znaków);                          Uzyskaj element na podstawie nazwy parametru
<HtmlNode> IEnumerable Elements (nazwa ciągu znaków);                 Uzyskaj dopasowany zestaw elementów na podstawie nazwy parametru
bool GetAttributeValue (nazwa stringu, bool def);                   Metoda pomocnicza używana do uzyskania wartości właściwości tego węzła (typu boole'a). Jeśli własność nie zostanie znaleziona, zwracana jest wartość domyślna.
int GetAttributeValue (nazwa ciągu, int def);                     Metoda pomocy służy do uzyskania wartości (liczby całkowitej) atrybutu tego węzła. Jeśli własność nie zostanie znaleziona, zwracana jest wartość domyślna.
string GetAttributeValue (nazwa stringu, string def);                 Metoda pomocy służy do uzyskania wartości (typu łańcucha) właściwości tego węzła. Jeśli własność nie zostanie znaleziona, zwracana jest wartość domyślna.
HtmlNode InsertAfter(HtmlNode newChild, HtmlNode refChild);            Wstawienie węzła za drugim parametrem jest relacją siostrzaną z drugim parametrem
HtmlNode InsertBefore(HtmlNode newChild, HtmlNode refChild);          Mówi się, że węzeł jest wstawiany po drugim węźle parametrów, a drugi parametr jest relacją siostrzaną
static bool IsCDataElement (nazwa ciągu ciągu);                      Określa, czy węzeł elementu jest węzłem elementu CDATA.
static bool IsClosedElement(nazwa ciągu znaków);                     Określa, czy węzeł pierwiastkowy jest zamknięty, czy nie
statyczny bool IsEmptyElement (nazwa ciągu ciągu);                       Określa, czy obecny jest pusty węzeł elementów.
statyczny bool IsOverlappedClosingElement(tekst ciągu znaków);                 Określenie, czy tekst odpowiada węzłowi, pozwala zachować nakładające się znaczniki końcowe.
void Remove();                                   Usuń węzeł wywołujący z kolekcji nadrzędnej
void RemoveAll();                                  Usuń wszystkie węzły potomne i właściwości wywołującego węzła
void RemoveAllChildren();                              Usuń wszystkie węzły potomne wywołującego węzła
HtmlNode RemoveChild(HtmlNode oldChild);                     Usuń węzeł potomny o określonej nazwie wywołującego węzła
HtmlNode RemoveChild(HtmlNode oldChild, bool keepGrandChildren); Usuń węzeł potomny nazwy wywołania węzła wywołującego, a drugi parametr decyduje, czy usunąć go wraz z węzłem wnukiem
HtmlNode ReplaceChild(HtmlNode newChild, HtmlNode oldChild);          Zamień jeden z oryginalnych węzłów potomnych węzła wywołującego nowym węzłem, a drugim parametrem jest stary węzeł
HtmlNodeCollection SelectNodes(string xpath);           Pobierz kolekcję węzłów opartych na XPath
HtmlNode SelectSingleNode(string xpath);                     Zdobądź unikalny węzeł oparty na XPath
HtmlAttribute SetAttributeValue (nazwa ciągu znaków, wartość ciągu znaków);             Ustaw właściwości węzła wywołującego
ciąg WriteContentTo();                               Zapisz wszystkie dzieci tego węzła do ciągu ciągów.
void WriteContentTo(TextWriter outText);                     Zapisz wszystkie potomstwo tego węzła do określonego TextWritera.
string WriteTo();                                  Zapisz aktualny węzeł do ciągu znaków.
void WriteTo(TextWriter outText);                         Zapisz aktualny węzeł do określonego TextWritera.
void WriteTo(XmlWriter writer);                            Zapisz aktualny węzeł do określonego XmlWritera.





Poprzedni:HtmlAgilityPack analizuje węzeł xpath w html5 z błędem
Następny:ASP.NET MVC modyfikuje współdzieloną domyślną ścieżkę widoku (MVC2, MVC3)
 Ziemianin| Opublikowano 05.08.2016 14:45:10 |


Otrzymuje wartość atrybutu węzła
 Ziemianin| Opublikowano 01.03.2017 17:16:09 |

Wyrażenie ścieżek XPath

Używany do wyboru węzłów lub zestawów węzłów w dokumencie XML

1. Terminologia: Węzeł: 7 typów: elementy, atrybuty, tekst, przestrzenie nazw, polecenia przetwarzające, komentarze, węzły dokumentu (root)

2. Relacje węzłów: Rodzic, Dzieci, Rodzeństwo, Przodek, Potomek

3. Wyrażenie ścieżki

nazwa węzła – wybierz wszystkie węzły potomne tego węzła Przykład: węzeł potomny węzła w bieżącym węźle nie obejmuje węzłów wnuków i niższych

/     从根节点选取  例:/root/childnode/grandsonnode  

  Reprezentuje wszystkie węzły potomne, np. ://childnode Wszystkie węzły potomne nazwane childnode

.    Reprezentuje bieżący węzeł Przykład: ./childnode reprezentuje dziecko bieżącego węzła

..     Reprezentuj węzeł nadrzędny Przykład: /nearnode reprezentuje potomny węzeł nearnode węzła nadrzędnego

       @ Wybierz atrybut /root/childnode/@id aby reprezentować wszystkie zestawy węzłów z atrybutami id w childnode

4. Predykaty

Predykaty mogą nakładać pewne ograniczenia na zbiór węzłów, co sprawia, że wybór jest bardziej precyzyjny

/root/book[1]    节点集中的第一个节点

/root/book[last()]  节点集中最后一个节点

/root/book[position() - 1]  节点集中倒数第二个节点集

/root/book[position() < 5]  节点集中前五个节点集

/root/book[@id]      节点集中含有属性id的节点集

/root/book[@id='chinese']  节点集中id属性值为chinese的节点集

/root/book[price > 35]/title  节点集中book的price元素值大于35的title节点集

5. Karty dzikie: Karty dzikie (*,@*,node(), text()) są również obsługiwane w ścieżce XPath.

Przykład: /księgarnia/*

tytuł[@*]

6. Oś XPath

Zdefiniuj zbiór węzłów względem bieżącego węzła

Przodek wszystkich węzłów przodków

przypisz wszystkie węzły atrybutów

dziecko, wszystkie elementy potomne

potomkowie wszystkich węzłów potomnych (synowie, wnuki...). )

podążanie za wszystkimi węzłami po zakończeniu oznaczania przed wszystkimi węzłami przed rozpoczęciem tagowania

następujące-sibling kończy wszystkie węzły rodzeństwa po tagu

Przed rozpoczęciem tagowania wszystkich węzłów rodzeństwa

Przestrzeń nazw: wszystkie węzły w aktualnej przestrzeni nazw

Rodzic-rodzic

węzeł prądu własnego

Użycie: Nazwa osi: Test węzła [Predykat]

Na przykład: ancestor::book

   dziecko::text()

7. Operatorzy

|  Przykład łączenia dwóch zbiorów węzłów: /root/book[1] | /root/book[3]

+,-,*,dev,mod

=,!=,<,>,<=,>=

lub, i lub oraz
 Ziemianin| Opublikowano 04.01.2018 16:39:23 |
Weź wartość konkretnego atrybutu tagu var node = doc. DocumentNode.SelectSingleNode("//span[@prt-id='123']"). Atrybuty["tag"]. Wartość;
 Ziemianin| Opublikowano 16.04.2018 13:46:02 |


Jeśli chcę uzyskać dane z tabeli, kod wygląda następująco:



Przedstawienia przedstawiają się następująco:


Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com