2008-11-20 12 views
8

İki farklı özellik kümesi döndürmek için tek bir XPath ifadesi oluşturmakta sorun yaşıyorum.XPath kullanarak bir XML belgesindeki birden çok özellik kümesini nasıl seçerim?

Örneğin aşağıdaki XML belgesi almak:

<root> 
<line name="one" alpha="a1" beta="b1"/> 
<line name="two" alpha="a2" beta="b2"/> 
<line name="three" alpha="a3" beta="b3"/> 
</root> 

aşağıdaki XPath deyimi kullanıyorsanız:

alpha="a1" 
alpha="a2" 
alpha="a3" 

Ne deyim:

//@alpha 

Bu set aşağıdaki öznitelik verir Aşağıdaki öznitelik kümesini oluşturmak için kullanırım:

bir XPath ifadesinde | operatörü kullanarak
alpha="a1" 
alpha="a2" 
alpha="a3" 
beta="b1" 
beta="b2" 
beta="b3" 

cevap

13

seçebilirsiniz birkaç yollar:

//@alpha | //@beta 
11
//@*[name()='alpha' or name()='beta']