<Value>
<ntin>00300231145014
<additionalDetails>
<detail name="reorderQuantity">10000</detail>
<detail name="SerialLength">12</detail>
<detail name="OriginalNtin"/>
</additionalDetails>
</ntin>
</Value>
想要获取ntin的值00300231145014
答案 0 :(得分:0)
XSLT使用XPath作为其表达语言,并且在XSLT / XPath / XQuery共享的数据模型中,ntin
元素的第一个子节点有一个文本字符串,其字符串值为00300231145014
,然后是第二个子节点是additionalDetails
元素。
因此,您可以选择/Value/ntin/text()[1]
选择该第一个文本节点的子节点,也可以选择示例中的/Value/ntin/node()[1]
,因为任何类型的第一个子节点都是该文本节点。但是,该节点的字符串值将在数字之后和additionalDetails
元素之前包括空格。因此,如果您只想要带有数字的字符串,则可以使用normalize-space(/Value/ntin/text()[1])
。
答案 1 :(得分:0)
您需要在<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="/">
<xsl:value-of select="/Value/ntin[1]/text()[1]"/>
</xsl:template>
</xsl:stylesheet>
中使用简单的X-Path来实现所需的输出:
var btn = document.querySelector("#openWindow");
btn.onclick = function(){
window.open("b.html","nameB");
window.open("c.html","nameC");
};