2013-03-21 156 views
0

我有以下XML:XML選擇基於

<aa> 
     <abc> 
      <name>convention</name> 
      <value>test1</value> 
     </abc> 
     <abc> 
      <name>computer</name> 
      <value>test2</value> 
     </abc> 
     <abc> 
      <name>human</name> 
      <value>test3</value> 
     </abc> 
     <abc> 
      <name>airplane</name> 
      <value>test4</value> 
     </abc> 
     <abc> 
      <name>flight</name> 
      <value>test5</value> 
     </abc> 
     <abc> 
      <name>keyboard</name> 
      <value>test6</value> 
     </abc> 
    </aa> 

我想選擇基於選擇的名稱值之一。對於例如如果名字是航班,那麼我需要選擇它的值test5。並且不顯示全部,只顯示名稱航班的值。我們如何做到這一點 ?

編輯:對不起,沒有提及的語言。

我在上面的xml中使用xlst來選擇並僅獲取航班的值,例如。

我嘗試這樣做:

<xsl:variable name="test" select="/aa/abc[@name='flight']"/> 
    <Test name= "{$test}"/> 

但這似乎並沒有爲取得用於飛行的值。

+0

沒有進一步的編輯來提供更多的上下文,這個社區的任何成員都無法爲您提供這個問題的高質量答案。請編輯您的問題,讓我們知道您使用的是哪種環境/編程語言,以及您在尋找解決方案時發現了什麼錯誤答案。 – 2013-03-21 14:14:18

+0

@RyanRansford:謝謝我編輯並添加了更多信息。 – user726720 2013-03-21 14:21:47

+0

@Mike:我試過了,正如下面JLRishe提到的那樣。它顯示爲:flight test5。我只想顯示test5。我怎麼做 ? – user726720 2013-03-21 14:30:32

回答

2

由於name是一個元素而不是屬性,所以@不正確。請試試這個:

<xsl:variable name="test" select="/aa/abc[name='flight']/value"/> 
<Test name="{$test}"/> 
+0

這是給我的名字,它的價值在一槍。例如:飛行測試5。我只想選擇test5並且不想顯示航班。 – user726720 2013-03-21 14:27:46

+0

在這種情況下,您需要選擇值元素。請參閱我上面的修改。 – JLRishe 2013-03-21 14:32:34

+0

感謝您的好友,整理出來。從中學到了一些東西。謝謝你。很好的幫助。保重。 – user726720 2013-03-21 14:34:01