获取XML元素属性值并设置为HTML ul列表类型
getting xml element attribute value and set as html ul li list type
这是我的XML文件:-
<root>
<child_1 entity_id = "1" value="Game" parent_id="0">
<child_2 entity_id="2" value="Activities" parent_id="1">
<child_3 entity_id="3" value="Physical1" parent_id="2">
<child_6 entity_id="6" value="Cricket" parent_id="3">
<child_7 entity_id="7" value="One Day" parent_id="6"/>
</child_6>
</child_3>
<child_4 entity_id="4" value="Test1" parent_id="1">
<child_8 entity_id="8" value="Test At Abc" parent_id="4"/>
</child_4>
<child_5 entity_id="5" value="Test2" parent_id="1">
<child_9 entity_id="9" value="Test At Xyz" parent_id="5"/>
</child_5>
</child_2>
<child_10 entity_id="10" value="Region" parent_id="1">
<child_11 entity_id="11" value="ABC" parent_id="10">
<child_12 entity_id="12" value="XYZ" parent_id="11">
<child_13 entity_id="13" value="ABC123" parent_id="12"/>
</child_12>
</child_11>
</child_10>
</child_1>
</root>
这里我想开始获取元素属性值Activities
(child_2)
和它的子子子值也。
并设置在html格式,如ul li
看起来像这样:-
<ul>
<li>Activity</li>
<ul>
<li>Physical</li>
<ul>
<li>Cricket</li>
<ul>
<li>One-Day</li>
</ul>
</ul>
<li>Test2</li>
<ul>
<li>Test At Abc</li>
</ul>
<li>Test3</li>
<ul>
<li>Test At Xyz</li>
</ul>
</ul>
</ul>
我不太了解XSLT,但我认为它是解决这个问题的简单方法。
有任何帮助我们都会来的。
谢谢…
这将产生您描述的输出:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="*" mode="item">
<li>
<xsl:value-of select="@value" />
</li>
<xsl:apply-templates select="current()[*]" />
</xsl:template>
<xsl:template match="*/*">
<ul>
<xsl:apply-templates select="*[1] | node()[current()/ancestor::*[2]]"
mode="item" />
</ul>
</xsl:template>
</xsl:stylesheet>
但是,您描述的输出不是合法的HTML (ul
s不能直接包含其他ul
s)。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" omit-xml-declaration="yes"/>
<xsl:template match="*" mode="item">
<li>
<xsl:value-of select="@value" />
<xsl:apply-templates select="current()[*]" />
</li>
</xsl:template>
<xsl:template match="*/*">
<ul>
<xsl:apply-templates select="*[1] | node()[current()/ancestor::*[2]]"
mode="item" />
</ul>
</xsl:template>
</xsl:stylesheet>
在您的示例输入上运行时,结果是:
<ul>
<li>Activities<ul>
<li>Physical1<ul>
<li>Cricket<ul>
<li>One Day</li>
</ul>
</li>
</ul>
</li>
<li>Test1<ul>
<li>Test At Abc</li>
</ul>
</li>
<li>Test2<ul>
<li>Test At Xyz</li>
</ul>
</li>
</ul>
</li>
</ul>
显示为:
- 活动
- Physical1
- 板球
- 有一天
- 板球
- Test1
- Abc测试
- Test2
- 测试Xyz
相关文章:
- HTML/jQuery点击显示/隐藏ul
- 有角度的自动建议文本排版和html ul li下拉列表
- JavaScript将缩进文本转换为HTML列表重复顶层<李>'s为<ul>'s
- 试图用随机选择的单词填充html中的ul.JS
- 如何从包含HTML代码和许多UL标签及其ID的JavaScript变量A中获取
- ID
- 使用appendchild或其他方法向ul添加html代码而不是纯文本
- 使用jquery显示/隐藏html ul
- 注入html标记<ul></ul>在我的<李></李>元素
- 如何使用JQuery检测•符号并将它们转换为HTML ul
- 杰奎瑞 |更改 UL->li->A 的内部 HTML 内容
- 如何在XML+XSL生成的HTML中使用jQuery进行UL操作
- 从带有javascript递归的xml到HTML<ul>
- HTML,CSS:左侧的href图像,在<ul>
- 将li附加到另一个html文件中的现有ul中
- Active or Focus Effect on HTML< Ul> tag
- 获取XML元素属性值并设置为HTML ul列表类型
- html中的UL LI标签创建空白空间
- JavaScript/jQuery在页面加载之前将html附加到UL元素
- & lt; UL>菜单在单一的文件,然后调用它在所有的HTML网页
- Json到html ul列表.纯javascript