none
Como poner un prefijo de espacio de nombres XML. RRS feed

  • Pregunta

  • Hola

    Trabajo con VB.Net, Visual Studio 2019 Community estoy creando un xml a partir de una clase que lo obtuve por un XSD

    Al xml que estoy creando le tengo que poner un prefijo en los nodos para que quede de esta manera

    <cbc:UBLVersionID>2.1</cbc:UBLVersionID>
    	<cbc:CustomizationID>2.0</cbc:CustomizationID>
    	<cbc:ProfileID schemeName="SUNAT:Identificador de Tipo de Operación" schemeAgencyName="PE:SUNAT" schemeURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo51">0101</cbc:ProfileID>
    	<cbc:ID>F001-009478</cbc:ID>
    	<cbc:IssueDate>2021-03-20</cbc:IssueDate>
    	<cbc:IssueTime>15:43:19</cbc:IssueTime>
    	<cbc:DueDate>2021-03-20</cbc:DueDate>
    	<cbc:InvoiceTypeCode listID="0101" listAgencyName="PE:SUNAT" listName="Tipo de Documento" listURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo01">01</cbc:InvoiceTypeCode>
    	<cbc:Note languageLocaleID="1000"><![CDATA[CIENTO  OCHENTA Y  CINCO CON 00/100]]></cbc:Note>
    	<cbc:DocumentCurrencyCode listID="ISO 4217 Alpha" listName="Currency" listAgencyName="United Nations Economic Commission for Europe">PEN</cbc:DocumentCurrencyCode>
    	<cbc:LineCountNumeric>2</cbc:LineCountNumeric>
    	<cac:OrderReference>
    		<cbc:ID><![CDATA[-]]></cbc:ID>
    		<cbc:SalesOrderID><![CDATA[0000009477]]></cbc:SalesOrderID>
    	</cac:OrderReference>
    	<cac:Signature>


    Lo tengo de la siguiente manera

    <?xml version="1.0" encoding="utf-8"?>
    <Invoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
      <UBLVersionID xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2.1</UBLVersionID>
      <CustomizationID xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2.0</CustomizationID>
      <ProfileID schemeName="SUNAT:Identificador de Tipo de Operación" schemeAgencyName="PE:SUNAT" schemeURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo51" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">0101</ProfileID>
      <ID xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">F001-009478</ID>
      <IssueDate xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2021-03-20</IssueDate>
      <IssueTime xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">15:43:19.0000000-05:00</IssueTime>
      <DueDate xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">2021-03-20</DueDate>
      <InvoiceTypeCode listID="0101" listAgencyName="PE:SUNAT" listName="Tipo de Documento" listURI="urn:pe:gob:sunat:cpe:see:gem:catalogos:catalogo01" xmlns="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">01</InvoiceTypeCode>
    </Invoice>

    El código que ocupo es el siguiente

    Imports System.IO
    Imports System.Xml
    Imports System.Xml.Serialization
    Imports <xmlns:cbc="">
    
    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim _cbc = <cbc:iiner2/>
            Dim invoice As InvoiceType = New InvoiceType()
    
    
            Dim ublVersionId = New UBLVersionIDType()
            ublVersionId.Value = "2.1"
            invoice.UBLVersionID = ublVersionId
    
            Dim customizationID = New CustomizationIDType()
            customizationID.Value = "2.0"
            invoice.CustomizationID = customizationID

    Estoy tratando de seguir esta documentación XML Element Literal (Visual Basic) pero no logro solucionarlo.

    Saludos!

     

    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú

    jueves, 15 de abril de 2021 16:01

Todas las respuestas

  • Hola Pedro,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 15 de abril de 2021 18:01
    Moderador