public static void Main()
Console.WriteLine("Hello World");
string xslt = @"<?xml version='1.0' encoding='UTF-8'?>
<xsl:stylesheet version='1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output indent='yes'/>
<Document xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns='urn:iso:std:iso:20022:tech:xsd:pain.001.001.02'>
<xsl:for-each select='REPORTE/ReporteInicio'>
<MsgId><xsl:value-of select='RefMSGID'/></MsgId>
<CreDtTm><xsl:value-of select='FechaHabil'/></CreDtTm>
<NbOfTxs><xsl:value-of select='Conta'/></NbOfTxs>
<CtrlSum><xsl:value-of select='Total'/></CtrlSum>
<BkPtyId><xsl:value-of select='Idbanc'/></BkPtyId>
<xsl:for-each select='REPORTE/ReporteInicio'>
<PmtInfId><xsl:value-of select='Referencia2'/></PmtInfId>
<ReqdExctnDt><xsl:value-of select='FechaHabil2'/></ReqdExctnDt>
<Nm><xsl:value-of select='NombreEmpresa'/></Nm>
<AdrLine><xsl:value-of select='DomEmpresa'/></AdrLine>
<StrtNm><xsl:value-of select='DomEmpresa'/></StrtNm>
<PstCd><xsl:value-of select='CPEmpresa'/></PstCd>
<TwnNm><xsl:value-of select='ColoniaEmpresa'/></TwnNm>
<CtrySubDvsn><xsl:value-of select='CiudadEmpresa'/></CtrySubDvsn>
<Id><xsl:value-of select='DAPSN'/></Id>
<Id><xsl:value-of select='CuentaEmpresa'/></Id>
<xsl:for-each select='REPORTE/Detalle'>
<InstrId><xsl:value-of select='InstrID'/></InstrId>
<EndToEndId><xsl:value-of select='InstrID'/></EndToEndId>
<InstdAmt Ccy='MXN'><xsl:value-of select='Contador'/></InstdAmt>
<ChqMtrtyDt><xsl:value-of select='FechaExpira'/></ChqMtrtyDt>
<Nm><xsl:value-of select='NombreEmp'/></Nm>
<InstrForDbtrAgt>01</InstrForDbtrAgt>
string strOldDocument = @"<REPORTE>
<xs:schema id='REPORTE' xmlns='' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:msdata='urn:schemas-microsoft-com:xml-msdata' xmlns:msprop='urn:schemas-microsoft-com:xml-msprop'>
<xs:element name='REPORTE' msdata:IsDataSet='true' msdata:UseCurrentLocale='true'>
<xs:choice minOccurs='0' maxOccurs='unbounded'>
<xs:element name='Detalle'>
<xs:element name='Empleados.EmpNumero' msdata:Caption='Número' msprop:_x0032_07='10' type='xs:int' minOccurs='0' />
<xs:element name='Nominas.PersonaName' msdata:Caption='Nombre' msdata:MaxLength='50' msprop:_x0032_07='10' minOccurs='0'>
<xs:restriction base='xs:string'>
<xs:maxLength value='50' />
<xs:element name='Nominas.NominaNeto' msdata:Caption='Neto' msprop:_x0032_07='10' type='xs:decimal' minOccurs='0' />
<xs:element name='ReporteInicio'>
<xs:element name='ReporteFin'>
<Empleados.EmpNumero>3</Empleados.EmpNumero>
<Nominas.PersonaName>Perez Graciano, Alvaro Gabriel</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>4</Empleados.EmpNumero>
<Nominas.PersonaName>Estrada Hernández, Edgar Martin</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>5</Empleados.EmpNumero>
<Nominas.PersonaName>Garcia Ruiz, Daniel</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>8</Empleados.EmpNumero>
<Nominas.PersonaName>Herrera Pérez, Cecilia</Nominas.PersonaName>
<Nominas.NominaNeto>1752.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>9</Empleados.EmpNumero>
<Nominas.PersonaName>Ruiz Moroyoqui, Alicia</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>12</Empleados.EmpNumero>
<Nominas.PersonaName>Aguilar Rodriguez, Jesus</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>13</Empleados.EmpNumero>
<Nominas.PersonaName>Delgado Estrada, Juan Gabriel</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>15</Empleados.EmpNumero>
<Nominas.PersonaName>Villarreal Martinez, Ismael</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>18</Empleados.EmpNumero>
<Nominas.PersonaName>Peréz Garcia, Juan Jose</Nominas.PersonaName>
<Nominas.NominaNeto>19149.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>20</Empleados.EmpNumero>
<Nominas.PersonaName>Magallanes Guevara, Juan Gerardo</Nominas.PersonaName>
<Nominas.NominaNeto>31828.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>26</Empleados.EmpNumero>
<Nominas.PersonaName>Vara Hernandez, Alicia Selene</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>29</Empleados.EmpNumero>
<Nominas.PersonaName>Gonzalez Lomeli, Jose Luis</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>33</Empleados.EmpNumero>
<Nominas.PersonaName>Estrada Flores, Maria Del Rocio</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>35</Empleados.EmpNumero>
<Nominas.PersonaName>Herrera Rojas, Guillermo</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>36</Empleados.EmpNumero>
<Nominas.PersonaName>Reyna Ramirez, Jesus Filberto</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>37</Empleados.EmpNumero>
<Nominas.PersonaName>Ibarra Salazar, Dora Maria</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>39</Empleados.EmpNumero>
<Nominas.PersonaName>Cuellar Mandujano, Hermilo Javier</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>41</Empleados.EmpNumero>
<Nominas.PersonaName>Ramirez Herrera, Edgar Ismael</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>42</Empleados.EmpNumero>
<Nominas.PersonaName>Garcia Villa, Brenda Fabiola</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>43</Empleados.EmpNumero>
<Nominas.PersonaName>Valerio Vasquez, Edgar Aurelio</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>51</Empleados.EmpNumero>
<Nominas.PersonaName>Lizarraga Juarez, Juan Luis</Nominas.PersonaName>
<Nominas.NominaNeto>1400.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>53</Empleados.EmpNumero>
<Nominas.PersonaName>Hernandez Farias, Catalina</Nominas.PersonaName>
<Nominas.NominaNeto>2987.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>54</Empleados.EmpNumero>
<Nominas.PersonaName>Hernandez Rodriguez, Elsa</Nominas.PersonaName>
<Nominas.NominaNeto>1618.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>57</Empleados.EmpNumero>
<Nominas.PersonaName>Villarreal Ramirez, Jorge</Nominas.PersonaName>
<Nominas.NominaNeto>862.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>70</Empleados.EmpNumero>
<Nominas.PersonaName>Rivera Rodriguez, Geronimo Omar</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>71</Empleados.EmpNumero>
<Nominas.PersonaName>Pirámides , Juan</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>72</Empleados.EmpNumero>
<Nominas.PersonaName>Perez , Pedro</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>73</Empleados.EmpNumero>
<Nominas.PersonaName>Olivas Portillo, Rosa Maria</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>74</Empleados.EmpNumero>
<Nominas.PersonaName>Contreras Terrazas, Ana Karen</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>76</Empleados.EmpNumero>
<Nominas.PersonaName>Galaviz Entero, Veronica</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>77</Empleados.EmpNumero>
<Nominas.PersonaName>Macias Bueno, Casandra</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>79</Empleados.EmpNumero>
<Nominas.PersonaName>Terriquez Savala, Yuniba</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>84</Empleados.EmpNumero>
<Nominas.PersonaName>Camarena Ruiz, Miroslava</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>85</Empleados.EmpNumero>
<Nominas.PersonaName>Ponce Hernandez, Melchor</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>86</Empleados.EmpNumero>
<Nominas.PersonaName>Flores Herdez, Reynaldo</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>87</Empleados.EmpNumero>
<Nominas.PersonaName>Campa Reyna, Citlally</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>88</Empleados.EmpNumero>
<Nominas.PersonaName>Sanchez Rios, Edgar</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>90</Empleados.EmpNumero>
<Nominas.PersonaName>Andrade Ponte, Lucia</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>91</Empleados.EmpNumero>
<Nominas.PersonaName>Villegas Florez, Andriana</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>94</Empleados.EmpNumero>
<Nominas.PersonaName>Sanchez Ruiz, David</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>95</Empleados.EmpNumero>
<Nominas.PersonaName>Matin Garcia, Hilda</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>99</Empleados.EmpNumero>
<Nominas.PersonaName>Galaviz Gonzalez, Marcos</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>100</Empleados.EmpNumero>
<Nominas.PersonaName>Perrusquia Hernandez, Vanessa</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>101</Empleados.EmpNumero>
<Nominas.PersonaName>Chavez Gomez, Ana Paola</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>103</Empleados.EmpNumero>
<Nominas.PersonaName>Perez Ortiz, Leonardo</Nominas.PersonaName>
<Nominas.NominaNeto>2631.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>104</Empleados.EmpNumero>
<Nominas.PersonaName>Jauregui Sosa, Julio Cesar</Nominas.PersonaName>
<Nominas.NominaNeto>2875.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>106</Empleados.EmpNumero>
<Nominas.PersonaName>Avila Mena, Angelica</Nominas.PersonaName>
<Nominas.NominaNeto>2162.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>108</Empleados.EmpNumero>
<Nominas.PersonaName>Resendiz Mendez, Jose Alejandro</Nominas.PersonaName>
<Nominas.NominaNeto>1600.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>110</Empleados.EmpNumero>
<Nominas.PersonaName>Torres Vargas, Yolanda</Nominas.PersonaName>
<Nominas.NominaNeto>2617.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>112</Empleados.EmpNumero>
<Nominas.PersonaName>Perez Ortiz, Ramiro</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>113</Empleados.EmpNumero>
<Nominas.PersonaName>Jauregui Sosa, Laura</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>114</Empleados.EmpNumero>
<Nominas.PersonaName>Soto Luna, Marcia</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>115</Empleados.EmpNumero>
<Nominas.PersonaName>Avila Mena, Elena</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>116</Empleados.EmpNumero>
<Nominas.PersonaName>Arriaga Reyes, Octavio</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>117</Empleados.EmpNumero>
<Nominas.PersonaName>Resendiz Mendez, Remigio</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>123</Empleados.EmpNumero>
<Nominas.PersonaName>Villo Nopales, Davito</Nominas.PersonaName>
<Nominas.NominaNeto>49484.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>215</Empleados.EmpNumero>
<Nominas.PersonaName>Flores Perez, Azucena H</Nominas.PersonaName>
<Nominas.NominaNeto>0.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>10000002</Empleados.EmpNumero>
<Nominas.PersonaName>Muñoz Angulo, Ramiro</Nominas.PersonaName>
<Nominas.NominaNeto>1221.0000</Nominas.NominaNeto>
<Empleados.EmpNumero>10000008</Empleados.EmpNumero>
<Nominas.PersonaName>Lopez , Francisco</Nominas.PersonaName>
<Nominas.NominaNeto>991.0000</Nominas.NominaNeto>
XDocument oldDocument = XDocument.Parse(strOldDocument);
var newDocument = new XDocument();
using (var stringReader = new StringReader(xslt))
using (XmlReader xsltReader = XmlReader.Create(stringReader))
var transformer = new XslCompiledTransform();
transformer.Load(xsltReader);
using (XmlReader oldDocumentReader = oldDocument.CreateReader())
XmlWriter newDocumentWriter = newDocument.CreateWriter();
using (newDocumentWriter)
transformer.Transform(oldDocumentReader, newDocumentWriter);
string result = newDocument.ToString();
Console.WriteLine(result);
Console.WriteLine("\n\nOpcion b\n");
var newDocument2 = new XDocument();
using (var stringReader = new StringReader(xslt))
using (XmlReader xsltReader = XmlReader.Create(stringReader))
var transformer2 = new XslCompiledTransform();
transformer2.Load(xsltReader);
using (XmlReader oldDocumentReader = oldDocument.CreateReader())
XmlWriter newDocumentWriter2 = newDocument2.CreateWriter();
XmlWriterSettings xws = transformer2.OutputSettings.Clone();
xws.Encoding = System.Text.Encoding.UTF8;
using (XmlWriter xw = XmlWriter.Create(newDocumentWriter2, xws))
transformer2.Transform(oldDocumentReader, xw);
string result2 = newDocument2.ToString();
Console.WriteLine(result2);