xpath
  • rss
  • atom-feed
  • 2010-02-06 13 views 22 likes 
    22

    Co jest wyrazem XPath wybrać <link> elementy z type="application/rss+xml"LUBtype="application/atom+xml" (RSS i Atom)Operator "OR" w predykacie XPath?

    • link[@rel='alternate'][@type='application/rss+xml'] wybiera RSS
    • link[@rel='alternate'][@type='application/atom+xml'] wybiera Atom

    ale jaka jest pojedyncze wyrażenie XPath do wyboru obu?

    Dziękuję.

    Odpowiedz

    46

    zastosowanie:

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

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

    Można również użyć unii do osiągnięcia tego

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

    ale or zrobi.

    12

    jeśli chcesz uzyskać fantazyjny i używać XPath 2.0, jest bardziej elegancki (ale potencjalnie mylące, w zależności, który może być odczytanie kodu) napisać to tak:

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

    powodem tego jest XPath 2.0 przedefiniowuje "=", aby zastosować do sekwencji, co oznacza, że ​​powyższe porównanie zwraca wartość "prawda", jeśli występuje dopasowanie podczas porównywania elementów z sekwencji lewej ręki z porównywaniem elementów z sekwencji po prawej stronie. może to być bardzo przydatne, jeśli lista rzeczy, które chcesz porównać, jest dynamiczna.

    Powiązane problemy