我試圖將文本添加到空/自我關閉標記。XSLT:將文本添加到XML中的自動關閉標記
我想就像 「<空/ >」 改造成的東西 「<空> 一些文本 < /空>」。
這是我的xml的縮短版我工作:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<attr tag="00080090" vr="PN" pos="-1" name="Referring Physician's Name" vm="0" len="0"/>
</dataset>
我想得到這樣的結果:
<?xml version="1.0" encoding="UTF-8"?>
<dataset>
<attr tag="00080090" vr="PN" pos="-1" name="Referring Physician's Name" vm="0" len="0">this is the inserted text</attr>
</dataset>
而是我最終未修改XML。如果沒有該標籤的文本,似乎我的匹配不起作用。如果已經有一些文本,它會起作用,它取代了這種情況下的文本,這對我來說很好。
我的XSL(T)是這樣的:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="no"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="attr[@tag='00080090']/text()">
<xsl:text>this is the inserted text</xsl:text>
</xsl:template>
</xsl:stylesheet>
我做我的http://xslttest.appspot.com
任何提示測試?
不知您輸入的XML? –
見上面,在我的問題的第一個代碼塊:帶有一行代碼的XML,「
svenson
你在attr/text()上匹配,但attr元素是空的,所以它有任何文本節點;只是匹配attr元素本身。 –