Sử dụng:
string(//div[@id='theNode'])
Khi biểu thức này được đánh giá, kết quả là chuỗi giá trị của người đầu tiên (và hy vọng chỉ) div
phần tử trong tài liệu.
Khi giá trị chuỗi của phần tử được xác định trong XPath Specification làm kết nối theo thứ tự tài liệu của tất cả các hậu duệ nút văn bản của nó, đây chính là chuỗi mong muốn.
Bởi vì điều này có thể bao gồm một số toàn màu trắng-không gian nút văn bản, bạn có thể muốn loại bỏ hàng đầu tiếp giáp và đuôi trắng-không gian và thay thế bất kỳ trung gian trắng-không gian như vậy bởi một nhân vật không gian duy nhất:
sử dụng:
normalize-space(string(//div[@id='theNode']))
XSLT - dựa xác minh:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
"<xsl:copy-of select="string(//div[@id='theNode'])"/>"
===========
"<xsl:copy-of select="normalize-space(string(//div[@id='theNode']))"/>"
</xsl:template>
</xsl:stylesheet>
khi chuyển đổi này được áp dụng trên các tài liệu XML cung cấp:
<div id='theNode'> This is an
<span style="color:red">example</span>
<b>bolded</b> text
</div>
hai biểu thức XPath được đánh giá và kết quả của những đánh giá được sao chép vào đầu ra:
" This is an
example
bolded text
"
===========
"This is an example bolded text"
Nguồn
2012-05-03 02:39:26
Bạn có thể muốn xem câu trả lời của tôi, mà không giống như câu trả lời hiện được chấp nhận, là chính xác. –