Fórum usar XMLTransformProvider passando o xml sem ser via arquivo. #393564
10/01/2011
0
com o clientdataset, o problema é que vou utilizar isso em uma aplicação com Threads
onde vários usuários irão acessar a função ao mesmo tempo, neste caso gostaria
de saber se tem alguma opção de ler o xml sem no XMLTransformProvider sem
ser via arquivo c:\xml.xml
ou seja, se eu abrir o xml em um memo, como passo isso para o XMLTransformProvider
tentei
XMLTransformProvider1.TransformRead.SourceXml := memo1.text;
XMLTransformProvider1.TransformRead.SourceXmlDocument := XMLDoc.GetDOMDocument;
onde xmldoc e do tipo IXMLDocument
mais nenhuma das opções da certo, abre no dbgrid sem os registros,
só da certo se ler o xml via arquivo
XMLTransformProvider1.XMLDataFile := 'c:\xml.xml';
XMLTransformProvider1.TransformRead.SourceXmlFile := 'c:\xml.xml';
outra coisa, é possivel passar o xtr sem ser via arquivo tb?
o código direto para o componente?
Obrigado desde já!
Murilo Junqueira
Curtir tópico
+ 0Posts
11/01/2011
Rubem Rocha
ClientDataSet1.XMLData := XMLTransform1.Data; Boa sorte. Sds., Rubem Rocha Manaus, AM
Gostei + 0
11/01/2011
Murilo Junqueira
ClientDataset1.Active := FALSE; XMLTransformProvider1.TransformRead.TransformationFile := xDirSys + 'DadosING.xtr'; ClientDataSet1.XMLData := XMLTransformProvider1.TransformRead.TransformXML(MRR.Text); ClientDataset1.Active := TRUE;
agora tenho um outro problema,
é possível gerar o xtr sem ser pelo xml mapper, pelo proprio delphi em runtime?
e tb uma outra forma de passar o xtr sem ser via arquivo em diretório, via stream algo do tipo
não queria mexer com nada de diretórios do windows, como disse a aplicação usa threads...
Obrigado noamente!
Gostei + 0
19/07/2022
Mário Reis
Se bem entendi, de cada vez que tiver que ler um arquivo xml via XMLTransformProvider1 não tem que
gerar e informar o novo "TransformWrite/TransFormRead o novo <qualquercoisa>.xtr (enquanto ler ficheiros com aquela mesma estrutura não haverá problemas; já com o XMLTransformProvider1.XMLDataFile tenho duvidas que ele não tenha de ser atualizado pelo xml em linha com aquela mesma estrutura.
Parece-me que todas as vezes se tem que informar XMLTransformProvider1.XMLDataFile:= OpenTextFileDialog1.FileName com o novo XML em linha
Agora, estou com um problema! Ao testar um XML complexo (Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03") com um header e um detalhe no mesmo aparentemente faz tudo direto e limpo mas no ecran.
Porém, quando gravo [ClientDs1.ApplyUpdates(-1);] perco tudo e o xml em linha fica transformado em um datapacket.
Perdendo todos os dados!? Alguma ideia?Obrigado
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)