0
我的XML看起來是這樣的:檢索子元素屬性的值
<someRoot
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../my.xsd">
<position name="quality">
<db>
<server name="blah-blah" type="xyz"/>
</db>
<some-more-element value="12345"/>
<my-needy-element>
<my-needy-sub-element name="uk1"
value="a,b,c"
more-attr="some-val"/>
<my-needy-sub-element name="uk2"
value="x,b,y,c"
more-attr="some-diff-val"/>
</my-needy-element>
</position>
</someRoot>
檢索說我的單數據庫服務器名稱的工作後,我做xmlproperty
&薩米類似:$ {db.server(名稱)}。現在我正在嘗試檢索子元素的值 - 但它總是會給我所有與其匹配的行值。例如:$ {my-needy-element.my-needy-sub-element(more-attr)}將打印some-val,some-diff-val。我如何獲得屬性值 到特殊的唯一名稱,如{my-needy-element.my-needy-sub-element(more-attr)with name =「uk1」}
添加編輯註釋:Is有沒有辦法,即使我通過傳遞'uk1'使用xslt ant任務&獲取所需的子元素屬性值?以xsl:if或鑰匙匹配
修訂更多:
有使用XSL &那麼XSLT螞蟻嘗試,但它亙古不變的似乎給了我所期待的:
<xsl:template match="/someRoot/my-needy-element/my-needy-sub-element">
<someRoot>
<xsl:key name="my-needy-sub-element" match="text()" use="@name"/>
<xsl:apply-templates select="key('name',$xslParamPassed)"/>
</someRoot>
</xsl:template>
感謝,
感謝您的支持。但是,即使我通過傳遞'uk1'並獲取所需的子元素屬性值來使用xslt ant-task,是否還有任何方法? – user1587504