Select with value-of and output with new tags : output « XSLT stylesheet « XML






Select with value-of and output with new 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.format output with tab
2.output rtf in format
3.Add , to the output
4.Output text with tag
5.Add your signs to the output (output method="text")
6.Output text with xsl:text
7.output method="xml" omit-xml-declaration="yes" indent="no"
8.Output html option list
9.output method="html"
10.Output HTML tags