2014-01-30 86 views
2

我有以下的,並希望取回數據,其中的「FromEmail」不爲空獲取非空元素

<FILE NAME="NewbusQuote"> 
    <REC NAME="level1"> 
     <FLD NAME="CoverPage"></FLD> 
     <FLD NAME="FromEmail"></FLD> 
     </REC> 

    <REC NAME="leve2"> 
     <FLD NAME="CoverPage">Simple</FLD> 
     <FLD NAME="FromEmail">[email protected]</FLD> 
    </REC> 


    <REC NAME="leve3"> 
     <FLD NAME="CoverPage"></FLD> 
     <FLD NAME="FromEmail"></FLD> 
    </REC> 
</FILE> 

預先感謝您

+0

使用'字符串長度()'想到的。 – Wrikken

+1

獲取哪些數據?輸出應該是什麼樣子? –

+0

@ Wrikken,我會試着說,當名字出現時,我只是不知道該如何繞過它。@ lwburk,對不起,我忘了提到正確的,非空FromEmail是我想要的。 –

回答

2

此XPath

/FILE/REC/FLD[@NAME = 'FromEmail'] 

將返回具有屬性FromEmail的FLD元素,但是此查詢

/FILE/REC/FLD[@NAME = 'FromEmail']/text() 

將僅返回第二個FromEmail元素的文本內容。

XPath通常不會檢索空元素(它們與 <FLD NAME="FromEmail" />中的相同)。

擺脫與FromEmail atributte所有元素的所有數據,使用此

/FILE/REC//FLD[@NAME = 'FromEmail']/text() 

希望它可以幫助

+0

非常感謝,這就是我所需要的。 –

+0

您可以將其標記爲已接受的答案。) – Allwe