Welcome to Sign in | Help
in Search

For xml raw CRLF?

Last post 04-07-2010, 5:37 PM by katalyn. 6 replies.
Sort Posts: Previous Next
  •  03-04-2010, 6:26 PM 8078

    For xml raw CRLF?

    Va salut,

    Intr-o procedura stocata, am printre altele, si un cod de genul:

    Select x, y, z from tabelaOarecare
    ......
    ......
    For XML RAW ('service')



    (Codul arunca rezultatul query-ului intr-un fisier pe calculator)

    Toate bune si frumoase, dar cei de la casa de asigurari spun ca nu pot procesa fisierul pt ca dupa fiecare tag service trebuie un crlf.
    Programul de validare al xml-ului nu da nici o eroare, dar se pare ca fara crlf nu merge la ei.

    In afara de a edita in notepad ar mai fi vreo solutie?

    Ca exemplu:
    Asa nu: <service AppId="124461" etc /><service AppId="124462" etc />....

    Asa da: <service AppId="124461" etc />
    <service AppId="124462" etc />


    Best
    F


  •  03-05-2010, 1:05 AM 8079 in reply to 8078

    Re: For xml raw CRLF?

    In XML spatiile albe nu au relevanta. Procesarea celor de la casa de asigurari este incorecta (probabil ca citesc XML *linie cu linie* ca si cum ar fi text).

    Nu o sa poti sa faci ca SQL FOR XML sa insereze CRLF, deci va trebuii sa scrii to cumva un program care sa faca asta.



    http://rusanu.com
  •  03-05-2010, 9:53 AM 8080 in reply to 8078

    Re: For xml raw CRLF?

    DECLARE @rez NVARCHAR(MAX) = ''

    SELECT @rez = @rez + '<Ceva Id="' + CAST(Id AS NVARCHAR(10)) + '"' + ' />' + CHAR(13)

    FROM Ceva

    PRINT @rez

  •  03-06-2010, 11:22 AM 8084 in reply to 8080

    Re: For xml raw CRLF?

    Va salut,

    Am lipsit un pic din zona, trimis fiind de clinica la un curs de iso (adica wasting time).

    Bogdane, ai dreptate! Asta e solutia.
    Genial. Ma oftic ca nu mi-a trecut prin cap.Big Smile
    Multumiri!


    Cat despre procesarea celor de la casa de asigurari, no comment.
    Pe situl lor au un soft de validare al fisierului, program cu care tot romanul sa isi verifice xml-ul.
    Ca orice roman, am descarcat programul, am verificat fisierul, am corectat erorile si cand a zis file valid l-am trimis la casa.
    Ei mi-au spus ca da erori. Eu nu, ca programul de validare nu raporteaza asa ceva

    Replica e antologica:
    Bine, bine, dar noi nu folosim acel program ci avem altul.Crying

    Best,
    F


  •  03-08-2010, 12:53 PM 8085 in reply to 8084

    Re: For xml raw CRLF?

    Salut Bogdan,

    Am incercat noua versiune de select.
    E ok, partea proasta e ca dureaza de rupe.
    I-am dat run acum 50 de min si tot proceseaza la query.
    O sa adaug crlf  in notepad++ ca intru in criza de timp.

    F
  •  03-29-2010, 5:31 PM 8155 in reply to 8085

    Re: For xml raw CRLF?

    Alta posibila abordare este folosirea unei instante SqlDataReader si construirea fisierului Xml cu ajutorul System.Xml.XmlWriterSettings. Aceasta metoda poate folosi atat o aplicatie .NET cat si PowerShell.



    Cristian Andrei Lefter, SQL Server MVP
    MCT, MCSA, MCDBA, MCAD, MCSD .NET,
    MCTS, MCITP - Database Administrator SQL Server 2005
    http://sqlserver.ro
  •  04-07-2010, 5:37 PM 8176 in reply to 8155

    Re: For xml raw CRLF?

    o alta posibila abordare este si :
    create table ##A (a nvarchar(256))

    insert into ##a(a)
    select 'ceva Id="' + name + '"/' --nu uita sa dechizi si sa inchizi tag-ul, nu ma descurc cu editorul html :)
    from sys.columns


    -- To allow advanced options to be changed.
    EXEC sp_configure 'show advanced options', 1
    GO
    -- To update the currently configured value for advanced options.
    RECONFIGURE
    GO
    -- To enable the feature.
    EXEC sp_configure 'xp_cmdshell', 1
    GO
    -- To update the currently configured value for this feature.
    RECONFIGURE
    GO

    declare @str varchar(255)
    select @str = 'osql -Q"select a from ##a" -E -oc:\file.txt'
    exec master..xp_cmdshell @str


    dar mai trebuie lucrat la osql (are optiune pentru scos capul de tabel, definit output etc.)
    Cătălin D.
View as RSS news feed in XML
Powered by Community Server (Commercial Edition), by Telligent Systems