1
resposta

E se eu preferisse manter a estrutura original do pedido?

Boa tarde professor.

Pegando como exemplo o segundo XML, eu gostaria que após o SPLIT eu pudesse manter a estrutura original do mesmo.

Saindo disso:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pedido>
    <id>6532463</id>
    <dataCompra>2013-12-05T18:10:07.963-02:00</dataCompra>
    <itens>
        <item>
            <formato>IMPRESSO</formato>
            <quantidade>1</quantidade>
            <livro>
                <codigo>mean</codigo>
                <titulo>Full stack JavaScript para aplicações web com MongoDB, Express, Angular e Node</titulo>
                <tituloCurto>MEAN</tituloCurto>
                <nomeAutor>Flávio Almeida</nomeAutor>
                <valorEbook>39.90</valorEbook>
                <valorImpresso>69.90</valorImpresso>
            </livro>
        </item>
        <item>
            <formato>EBOOK</formato>
            <quantidade>1</quantidade>
            <livro>
                <codigo>ARQ</codigo>
                <titulo>Introdução à Arquitetura e Design de Software</titulo>
                <tituloCurto>Arquitetura Java</tituloCurto>
                <nomeAutor>Sergio Lopes, Paulo Silveira, Guilherme Silveira, Nico Steppat, outros</nomeAutor>
                <valorEbook>29.90</valorEbook>
                <valorImpresso>79.90</valorImpresso>
            </livro>
        </item>
    </itens>
    <pagamento>
        <status>CONFIRMADO</status>
        <valor>99.80</valor>
        <titular>Joana Galindo</titular>
        <email-titular>jgal@efg.com</email-titular>
    </pagamento>
</pedido>

Para isso:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pedido>
    <id>6532463</id>
    <dataCompra>2013-12-05T18:10:07.963-02:00</dataCompra>
    <itens>
        <item>
            <formato>EBOOK</formato>
            <quantidade>1</quantidade>
            <livro>
                <codigo>ARQ</codigo>
                <titulo>Introdução à Arquitetura e Design de Software</titulo>
                <tituloCurto>Arquitetura Java</tituloCurto>
                <nomeAutor>Sergio Lopes, Paulo Silveira, Guilherme Silveira, Nico Steppat, outros</nomeAutor>
                <valorEbook>29.90</valorEbook>
                <valorImpresso>79.90</valorImpresso>
            </livro>
        </item>
    </itens>
    <pagamento>
        <status>CONFIRMADO</status>
        <valor>99.80</valor>
        <titular>Joana Galindo</titular>
        <email-titular>jgal@efg.com</email-titular>
    </pagamento>
</pedido>

Ou seja, só excluindo os itens IMPRESSOS, deixando os EBOOKS e mantendo a mesma estrutura do XML para depois converter em JSON.

Trabalho com integrações de sistema a mais ou menos 7 anos e vejo este cenário de transformação como muito comum. Grande abraço.

1 resposta

Oi Edgar,

Nesse caso vc poderia recriar o XML do pedido (usando XSLT que ainda vai aparecer no curso) ou gerar já um novo JSON a partir dos dados do XML.

Por alto, vc deve fazer o seguinte: 1) extrair os dados do pedido e guarda na rota 2) usar um spilt/filter para ter apenas os dados do itens que deseja 3) gerar o XML/JSON

Eu acredito que vc consiga resolver isso quando assistiu todo o curso!

abs