无法遍历XML元素

用户名

我在遍历节点时遇到麻烦。我有一些工作示例,但XML布局略有不同。

XML格式

<FAMILY>
<FAMILY_NAMES id="1" name="Smith">
   <KID name="Jim">First Born</KID>
   <KID name="Joe">Enjoys playing outside</KID>
   <KID name="Jon">Straight A student</KID>
</FAMILY_NAMES>
<FAMILY_NAMES id="2" name="Barnes">
   <KID name="Mike">Just got his license</KID>
   <KID name="Dan">On vacation</KID>
   <KID name="Ken">Going to graduate school</KID>
</FAMILY_NAMES>
<FAMILY_NAMES id="3" name="Thompsons">
 <KID name="James">Loves sports</KID>
 <KID name="Ben">Middle Child</KID>
 <KID name="Frank">Youngest child</KID>
</FAMILY_NAMES>
</FAMILY

我可以得到一个家庭列表,但是我需要获取KID每个家庭下标签之间的随机信息列表(例如“在外面玩游戏”)。到目前为止,我仅能获得一个姓氏列表。

XSLT

<xsl:for-each select="//FAMILY/FAMILY_NAMES">
  <xsl:value-of select="@name"></xsl:value-of><xsl:text>&#xa;</xsl:text>
   <xsl:for-each select="KID">
     <xsl:value-of select="KID"></xsl:value-of><xsl:text>&#xa;</xsl:text>
   </xsl:for-each>
</xsl:for-each>

只是不确定为什么这行不通。

克休斯

当通过每次循环KID,当前节点已经是每一个KID,所以得到的字符串值KID使用<xsl:value-of select="."/>,不="KID"

这个XSLT

<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text" version="1.0"/>

  <xsl:template match="/">
    <xsl:for-each select="/FAMILY/FAMILY_NAMES">
      <xsl:value-of select="@name"/>
      <xsl:text>&#xa;</xsl:text>
      <xsl:for-each select="KID">
        <xsl:text>  </xsl:text>
        <xsl:value-of select="@name"/>
        <xsl:text>: </xsl:text>
        <xsl:value-of select="."/>
        <xsl:text>&#xa;</xsl:text>
      </xsl:for-each>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

应用于您的输入XML,

<FAMILY>
  <FAMILY_NAMES id="1" name="Smith">
    <KID name="Jim">First Born</KID>
    <KID name="Joe">Enjoys playing outside</KID>
    <KID name="Jon">Straight A student</KID>
  </FAMILY_NAMES>
  <FAMILY_NAMES id="2" name="Barnes">
    <KID name="Mike">Just got his license</KID>
    <KID name="Dan">On vacation</KID>
    <KID name="Ken">Going to graduate school</KID>
  </FAMILY_NAMES>
  <FAMILY_NAMES id="3" name="Thompsons">
    <KID name="James">Loves sports</KID>
    <KID name="Ben">Middle Child</KID>
    <KID name="Frank">Youngest child</KID>
  </FAMILY_NAMES>
</FAMILY>

产生以下输出:

Smith
  Jim: First Born
  Joe: Enjoys playing outside
  Jon: Straight A student
Barnes
  Mike: Just got his license
  Dan: On vacation
  Ken: Going to graduate school
Thompsons
  James: Loves sports
  Ben: Middle Child
  Frank: Youngest child

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法使用 SimpleXML 遍历 XML 元素

来自分类Dev

遍历XML元素列表

来自分类Dev

如何遍历xml子元素

来自分类Dev

JavaScript递归XML元素遍历

来自分类Dev

如何遍历xml子元素

来自分类Dev

python硒无法遍历元素

来自分类Dev

从某个元素开始循环遍历xml元素

来自分类Dev

ASP.NET VB无法使用Linq遍历嵌套的XML元素

来自分类Dev

遍历XML文件的所有元素

来自分类Dev

无法遍历 for 循环中的所有元素

来自分类Dev

Python循环以遍历XML中的元素并获取子元素值

来自分类Dev

无法删除XML中的元素

来自分类Dev

无法从xml提取项目元素

来自分类Dev

遍历元素

来自分类Dev

如何遍历xslt中包含编码的xml的元素

来自分类Dev

如何使用XSLT遍历xml文档中的元素

来自分类Dev

在Java中使用DocumentTraversal递归遍历XML元素

来自分类Dev

如何使用XSLT遍历xml文档中的元素

来自分类Dev

遍历文件以计数XML元素并添加总数

来自分类Dev

如何遍历MySQL存储过程中的XML元素?

来自分类Dev

遍历XML VB.NET中的所有元素

来自分类Dev

ng-repeat的Angular JS指令无法遍历子元素

来自分类Dev

Python ElementTree无法按顺序遍历XML标签

来自分类Dev

打开xml无法获取图形元素

来自分类Dev

无法使用Javascript显示XML元素名称

来自分类Dev

无法使用XElement检索XML元素的值

来自分类Dev

XSLT无法获取xml子元素

来自分类Dev

无法使用Javascript显示XML元素名称

来自分类Dev

无法在 XML 中获取子元素值