Javascript 简单xml属性值在html文件中使用xslt获取
XML文件如下所示:-Javascript 简单xml属性值在html文件中使用xslt获取,javascript,jquery,xml,xslt,xpath,Javascript,Jquery,Xml,Xslt,Xpath,XML文件如下所示:- <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="final.xsl"?> <root> <child1 entity_id = "1" value= "Asia"> <child2 entity_id = "2" value = "india"> <child3 entity_i
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="final.xsl"?>
<root>
<child1 entity_id = "1" value= "Asia">
<child2 entity_id = "2" value = "india">
<child3 entity_id = "3" value = "Gujarat">
<child5 entity_id = "5" value ="Rajkot"></child5>
</child3>
<child4 entity_id = "4" value = "Rajshthan">
<child6 entity_id = "6" value = "Ajmer"></child6>
</child4>
</child2>
</child1>
</root>
我希望这个输出在html文件中,它怎么可能
请帮助我解决此问题此XSLT将显示与
区域
参数值匹配的项的子项:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:key name="kChild" match="*[@value]" use="../@value"/>
<xsl:param name="region" select="'india'" />
<xsl:template match="/">
<xsl:apply-templates select="key('kChild', $region)" />
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="@value"/>
<xsl:text>
</xsl:text>
</xsl:template>
</xsl:stylesheet>
如果使用值“Asia”,则输出为:
Gujarat
Rajshthan
india
为了将参数传递到XSLT中,我认为您需要在web页面中使用JavaScript来应用XSLT,而不是自动应用它
下面是一个页面,其中包含一些代码,说明如何在JavaScript中应用XSLT,以及如何向其中传递参数:
亚洲
元素的唯一子元素是印度。使用什么逻辑检索古吉拉特邦和拉吉什坦?@jlris使用这个替换,然后输出是Child1:asia Child2:inida Child3:Gujarat Child4:rajshtan现在只需删除asia和inida:)我不知道这意味着什么。为什么它要输出古吉拉特邦
和拉吉斯坦
,而不是印度
,拉吉科特
或阿杰梅尔
?这是怎么决定的?我不明白您试图使用的逻辑。@JLRishe亲爱的b'z因为我想点击古吉拉特邦,然后在那里显示它,就像rajkot一样,这就是原因……在您的问题中,您说“我只想要亚洲子元素属性值”。您的意思是说“我只想要子元素属性值”?亚洲唯一的子元素是印度,而不是古吉拉特邦或拉吉什坦。是的,现在这个输出如何显示在html文件中?你基本上会在我链接的页面中使用JavaScript。您的页面中是否有要添加结果的特定HTML元素?您能提供XML文件的文件名吗?所选值来自何处?
Gujarat
Rajshthan
india