use for-each to output xml tags : xml output « XSLT stylesheet « XML






use for-each to output xml tags


File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<emailList>
  <person>
    <name>person1</name>
    <email>p@hotmail.com</email>
  </person>
  <person>
    <name>person2</name>
    <email>p@hotmail.com</email>
  </person>
  <person>
    <name>person3</name>
    <email>p3@hotmail.com</email>
  </person>
</emailList>




File: Transform.xslt
<?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"/>
  <xsl:template match="/">
    <contacts>
      <xsl:for-each select="emailList/person">
        <contact>
          <fullName>
            <xsl:value-of select="name"/>
          </fullName>
          <eMail>
            <xsl:value-of select="email"/>
          </eMail>
        </contact>
      </xsl:for-each>
    </contacts>
  </xsl:template>
</xsl:stylesheet>

Output:

<?xml version="1.0" encoding="UTF-8"?>
<contacts>
   <contact>
      <fullName>person1</fullName>
      <eMail>p@hotmail.com</eMail>
   </contact>
   <contact>
      <fullName>person2</fullName>
      <eMail>p@hotmail.com</eMail>
   </contact>
   <contact>
      <fullName>person3</fullName>
      <eMail>p3@hotmail.com</eMail>
   </contact>
</contacts>

 








Related examples in the same category

1.Create new element with attribute
2.xsl:element generates elements in time of processing.
3.achieves in a different and laborious way.
4.xsl:attribute generates elements
5.Create new xml document with namespace
6.Add Comment to generated xml document
7.Use concat function to create name of Element
8.output method="xml" version="1.1" encoding="utf-16"
9.disable-output-escaping="yes"
10.output method="xml" omit-xml-declaration="yes"
11.Add indenting to make result line up better
12.Add 1 hyphen to result tree
13.Output new xml tag
14.Restructure xml document
15.Output xml element in various form
16.Add new parent tag
17.Use attribute value to create new attribute
18.output doctype-system="testOut.dtd"
19.use new tag to wrap
20.Output element with Namespace
21.Disable escape
22.Add processing-instruction to generated xml document
23.Rename tag
24.Set Encoding
25.Using xsl:element and xsl:attribute
26.Using xsl:element and xsl:attribute to create xml tags
27.attribute name="example" select="1 to 7" separator=", "