从xml中获取所有子属性值
get all the child attribute value from the xml
这是我的简单XML文件:-
<child_2 entity_id="2" value="Root" parent_id="1">
<child_4 entity_id="4" value="Activities" parent_id="2">
<child_10066 entity_id="10066" value="Physical1" parent_id="4">
<child_10067 entity_id="10067" value="Cricket" parent_id="10066">
<child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
</child_10067>
</child_10066>
<child_10069 entity_id="10069" value="Test2" parent_id="4"/>
<child_10070 entity_id="10070" value="Test3" parent_id="4"/>
<child_10071 entity_id="10071" value="Test4" parent_id="4"/>
<child_10072 entity_id="10072" value="Test5" parent_id="4"/>
<child_5 entity_id="5" value="Physical" parent_id="4"/>
</child_4>
</child_2>
我想获得entity_id 4
的所有子值用逗号分隔,
并保存为文本文件
这是我的o/p:-
10066、10067、10068、10069、10070、10071
这是我的尝试
<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="*[@entity_id]" use="../@entity_id"/>
<xsl:param name="region" select="'4'" />
<xsl:template match="/">
<xsl:apply-templates select="key('kChild', $region)" />
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="@entity_id"/>
<xsl:text>,</xsl:text>
</xsl:template>
</xsl:stylesheet>
谢谢
获取@entity_id
属性值为$region
的每个子代元素的@entity_id
属性值:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:param name="region" select="'4'"/>
<xsl:template match="/">
<xsl:apply-templates select="*/*[@entity_id = $region]//*"/>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="@entity_id"/>
<!-- Don't add comma after last number -->
<xsl:if test="not(position() = last())">
<xsl:text>,</xsl:text>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
输入<child_2 entity_id="2" value="Root" parent_id="1">
<child_4 entity_id="4" value="Activities" parent_id="2">
<child_10066 entity_id="10066" value="Physical1" parent_id="4">
<child_10067 entity_id="10067" value="Cricket" parent_id="10066">
<child_10068 entity_id="10068" value="One Day" parent_id="10067"/>
</child_10067>
</child_10066>
<child_10069 entity_id="10069" value="Test2" parent_id="4"/>
<child_10070 entity_id="10070" value="Test3" parent_id="4"/>
<child_10071 entity_id="10071" value="Test4" parent_id="4"/>
<child_10072 entity_id="10072" value="Test5" parent_id="4"/>
<child_5 entity_id="5" value="Physical" parent_id="4"/>
</child_4>
</child_2>
输出10066,10067,10068,10069,10070,10071,10072,5
相关文章:
- 在 XML 文件中搜索 TestComplete 中的特定属性值
- 如何在 XML 中搜索特定属性以检索另一个属性
- 在 xml 中搜索属性
- LiveCycle Xml属性绑定
- 获取具有特定属性的xml的文本
- 使用javascript查找xml属性值
- for循环,直到xml属性不为null.从最后一行开始javascript
- 查看xml是否具有属性和值
- 使用jquery从xml中选择一个属性
- xml获取属性javascript不会;无法处理childNodes
- 设置名称与 XML 的名称生产不匹配的 DOM 元素的属性
- 在 Ace 编辑器中自动完成 XML 值和属性
- XML 获取具有特定属性的特定节点
- 无法使用 jquery 获取 xml 属性的值
- 未捕获的语法错误:无法在“元素”上设置“innerHTML”属性:提供的标记是无效的 XML
- 当标签值与使用 JavaScript 的输入匹配时,返回 XML 标签属性
- 如何获取 xml 控件属性
- 如何使用 $.parseXML 在客户端上分析包含属性的 xml 字符串
- 使用 qml 读取多个 Xml 属性
- 使用 JSON 解析 XML,也包含嵌入在标记属性中的 XML