2012-05-21 31 views
0

有人可以告訴我XSLT我需要從下面的XML中獲取輸出「LIVE | Customer is active」。我以爲我從另一個帖子得到了答案,但事實並非如此。基本的XSLT問題 - 只想選擇幾個值而不是其他東西

<?xml version="1.0"?> 
<cns:customer xmlns:cns="https://services.cns.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://services.cns.com docs/xsd/customer.xsd"> 
    <cns:userId>1001</cns:userId> 
    <cns:status>LIVE</cns:status> 
    <cns:statusMessage>Customer is active</cns:statusMessage> 
    <cns:type wholesale="true" suspended="false">W1</cns:type> 
    <cns:properties> 
     <cns:property> 
      <cns:name>Name</cns:name> 
      <cns:value>Bob</cns:value> 
     </cns:property> 
    </cns:properties> 
</cns:customer> 

感謝,

保羅

回答

2

如果你只是想將XML轉換爲在你的問題中提到的字符串,下面的樣式表可用於:

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:cns="https://services.cns.com"> 

    <xsl:output method="text"/> 

    <xsl:template match="/*"> 
    <xsl:value-of select="concat(cns:status,'|',cns:statusMessage)"/> 
    </xsl:template> 
</xsl:stylesheet> 
+0

謝謝,馬丁。我真的不想在解決方案中使用命名空間,但是我一直在使用XSLT,這似乎是在執行這個技巧:<?xml version =「1.0」encoding =「UTF-8」?> | ' – user265330

+1

不要把你的代碼與禁用輸出轉義一樣,就好像它是神奇的仙塵。這是一個強大而危險的功能,它不適用於所有環境,並且通過將其與method =「text」一起使用,表明您不理解它:使用method =「text」時,不需要轉義禁用。 –

相關問題