2010-02-06 8 views
22

Was ist der XPath Ausdruck <link> Elemente mit type="application/rss+xml"ORtype="application/atom+xml" (RSS und Atom-Feeds)OR-Operator im XPath-Prädikat?

  • link[@rel='alternate'][@type='application/rss+xml'] wählt RSS-Feeds
  • link[@rel='alternate'][@type='application/atom+xml'] wählt Atom

Feeds Aber was zu wählen ist die einzelner XPath-Ausdruck für die Auswahl beider?

Vielen Dank.

Antwort

46

Verwendung:

link[@rel='alternate'][@type='application/rss+xml' or @type='application/atom+xml'] 

siehe http://www.w3.org/TR/xpath/#NT-OrExpr

Sie auch Union nutzen könnten, dies zu erreichen

link[@rel='alternate'][@type='application/rss+xml']|link[@rel='alternate'][@type='application/atom+xml'] 

aber or tun.

12

wenn Sie Lust zu bekommen und verwenden XPath 2.0, es ist elegant (aber potenziell verwirrend abhängig, die den Code zu lesen sein könnte) es so zu schreiben:

link[@rel='alternate'][@type = ('application/rss+xml', 'application/atom+xml')] 

der Grund dafür ist, dass XPath 2.0 "=" neu definiert, um sie auf Sequenzen anzuwenden, was bedeutet, dass der obige Vergleich wahr zurückgibt, wenn beim Vergleich von Elementen aus der linken Sequenz mit Vergleichen von Elementen aus der rechten Sequenz eine Übereinstimmung besteht. Dies kann sehr nützlich sein, wenn die Liste der Dinge, mit denen Sie vergleichen möchten, dynamisch ist.

Verwandte Themen