2012-08-08 3 views
1

가정의 또 다른 값을 기반으로 XML 노드의 값을 검색하는 방법 :XSL - 나는 XML 다음 한하는 XML 노드

<ns5:OrderTotal> 
    <ns5:Name>AmountPaid</ns5:Name> 
     <ns5:Description>Payment Received</ns5:Description> 
    <ns5:SortOrder>4</ns5:SortOrder> 
    <ns5:Value>16.95</ns5:Value> 
    </ns5:OrderTotal> 
    <ns5:OrderTotal> 
    <ns5:Name>AmountDue</ns5:Name> 
     <ns5:Description>Current Amount Due</ns5:Description> 
    <ns5:SortOrder>5</ns5:SortOrder> 
    <ns5:Value>0.0</ns5:Value> 
    </ns5:OrderTotal> 

나는 단지 그것을 이름 때 OrderTotal의 값을 인쇄하려면 금액 지불, 어떻게 이걸 얻을 수 있니?

도움 주셔서 감사합니다.

답변

1

나는 당신이 필요로하는 값을 출력하려고하는 방법을 알고하지 않습니다하지만 다음 XPath 식 사용하여 수집 할 수 있습니다 : 예를 들어

//ns5:OrderTotal[child::ns5:Name = 'AmountPaid']/ns5:Value 

:

XML :

<ns5:Orders xmlns:ns5="a"> 
    <ns5:OrderTotal> 
     <ns5:Name>AmountPaid</ns5:Name> 
     <ns5:Description>Payment Received</ns5:Description> 
     <ns5:SortOrder>4</ns5:SortOrder> 
     <ns5:Value>16.95</ns5:Value> 
    </ns5:OrderTotal> 
    <ns5:OrderTotal> 
     <ns5:Name>AmountDue</ns5:Name> 
     <ns5:Description>Current Amount Due</ns5:Description> 
     <ns5:SortOrder>5</ns5:SortOrder> 
     <ns5:Value>0.0</ns5:Value> 
    </ns5:OrderTotal> 
</ns5:Orders> 

XSL :

는 출력 :

<?xml version="1.0" encoding="utf-8"?> 
<Value>16.95</Value> 
+0

고마워,이게 내가 찾고있는거야. –

+0

@yupinghe, 여러분은 환영합니다. 이것이 귀하의 질문에 대한 정답이라고 생각한다면 그것을 그렇게 표시하십시오. – khachik

0
<xsl:if test="Name = 'AmountPaid'"> 
<xsl:value-of select="Value"/> 
</xsl:if> 

위를 시도하십시오. XSL.

+0

들으,하지만 난이 시도하고 regardlessly 첫 번째 노드의 값을 반환하는 것 같다. 따라서 AmountPaid 전에 "ShippingPaid"라는 다른 노드가 있으면 ShippingPaid 값을 반환합니다. –