Nếu tôi có XSL nàyxsl
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:output omit-xml-declaration="yes" encoding="UTF-8"/>
<xsl:template match='/'>
<xsl:value-of select="//Description" />
</xsl:template>
</xsl:stylesheet>
Và XML này
<ArrayOfLookupValue xmlns="http://switchwise.com.au/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<LookupValue>
<Description>AGL</Description>
<Value>8</Value>
</LookupValue>
<LookupValue>
<Description>Australian Power & Gas</Description>
<Value>6</Value>
</LookupValue>
<LookupValue>
<Description>EnergyAustralia</Description>
<Value>13</Value>
</LookupValue>
<LookupValue>
<Description>Origin Energy</Description>
<Value>9</Value>
</LookupValue>
<LookupValue>
<Description>TRU Energy</Description>
<Value>7</Value>
</LookupValue>
</ArrayOfLookupValue>
Làm thế nào để thực sự có được một số dữ liệu từ dòng này:
<xsl:value-of select="//Description" />
Tôi đã dành giờ về điều này và tôi đã đi đến kết luận rằng xmlns = namespace là điều khiến tôi đau buồn.
Bất kỳ trợ giúp nào được đánh giá cao.
BTW XML đến từ một dịch vụ web để tôi có thể không chỉ là "thay đổi" nó - Tôi có thể preprocess nó nhưng đó không phải là lý tưởng ...
Ngoài ra tôi đã xác nhận rằng loại bỏ các không gian tên từ một giả định của XML không khắc phục được vấn đề.
Câu hỏi hay, +1. Xem câu trả lời của tôi cho lời giải thích và một giải pháp ngắn và dễ dàng. –
Bạn đúng rằng không gian tên đang tạo sự khác biệt. Xem lời giải thích tốt của Dimitre ... và bạn sẽ thực sự tiết kiệm thời gian trong tương lai nếu bạn đọc trên các không gian tên XML (đặc biệt, như được sử dụng trong XPath). – LarsH