Xpath-wählen Sie alle untergeordneten Knoten
Brauche ich wählen Sie alle untergeordneten Knoten (option-tag) aus dieser html-Datei:
<select name="akt-miest" id="onoffaci">
<option value="a_0">Všetci</option>
<option value="a_1">Iba prihlásení</option>
<option value="a_5" selected="selected">Teraz na Pokeci</option>
<optgroup label="Hlavné miestnosti">
<option value="m_13"> Bez záväzkov</option>
<option value="m_9"> Do pohody</option>
<option value="m_39"> Dámsky klub</option>
</optgroup>
Verwende ich Html agility pack.
Ich versuche dieses:
var selectNode = htmlDoc.GetElementbyId("onoffaci");
var nodes = selectNode.SelectNodes("option::*");
aber ich bekomme Fehler, dass xpath hat ungültiges token. Was ist schlecht?
Beispiel:
<option value="**a_0**">**Všetci**</option>
Ich muss mit dem Wert (a_0) und text Všetci.
Also versuche ich, einen ersten Zugang zu select by Id:
- Möglich dup : stackoverflow.com/questions/4758644/...
- Gute Frage, +1. Siehe meine Antwort für die Erklärung des Problems, mehrere verschiedene XPath-Ausdrücke, die Sie verwenden können, und eine Erklärung Ihrer Bedeutung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das offensichtliche problem ist die Verwendung von
option::*
option::*
bedeutet: Alle Knoten, die in der "option" - Achse. Allerdings gibt es keine "option-Achse in XPath"Sie wollen:
Diese wählt alle
option
Elemente, die untergeordnete Elemente des aktuellen Knotens.Schreiben Sie diese in einem einzigen XPath-Ausdruck und weglassen der
getElementbyId()
nennen:Verwenden:
Diese wählt alle
value
alle Attribute alleroption
Elemente, die Kinder sind alleselect
- Elemente im XML-Dokument, das eineid
- Attribut mit dem Wert'onoffaci'
und auch alle text-Knoten, der alleoption
Elemente, die Kinder sind alleselect
- Elemente im XML-Dokument, das eineid
- Attribut mit dem Wert'onoffaci'
.Benötigen Sie zum Durchlaufen der Ergebnisse zu bekommen, die
@value
undtext()
für jedenoption
element.Oder:
Hier verwenden Sie die Beobachtung, dass die
option
element, das Sie interessiert sind, ist der ersteoption
Kind seiner Eltern — nun, dieser wählt nur dievalue
Attribut-und Textknoten der wollteoption
element.