It is currently 31 October 2020, 14:02 Advanced search

Campo CDATA in XML

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Campo CDATA in XML

Postby LORENZO » 4 February 2019, 12:30

Buongiorno,
Code: Select all

volevo riagganciarmi ad un vecchio post del 2012: viewtopic.php?f=5&t=2000&p=9184&hilit=cdata#p9184

io avrei la necessità di inserire un campo con CDATA in un XML, la funzione suggerita nel vecchio post serve ad aggiungere un intero noto, ma a me servirebbe farlo solo per determinati campi. Tra l'altro il procedimento suggerito non funziona, quando vado a compilare il progetto mi viene restituito il seguente errore:
Code: Select all
App_Code\MyWebEntryPoint.cs(6395,28): error CS1501: Nessun overload del metodo 'XMLNode' accetta '1' argomenti
IJLib.dll: (Posizione del simbolo relativo all'errore precedente)

Quindi magari avere una funzione di questo tipo:
Code: Select all
Anagrafica.setCDATA("Denominazione", "Azienda Pippo")

che mi restituisse
Code: Select all
<Denominazione><![CDATA[]]>Azienda Pippo]]></Denominazione>

Nel vecchio post si parlava di inserirlo nativamente ma nella versione 18.5 non c'è.

Esiste una soluzione?
Grazie
Il mio ultimo lavoro ?
http://www.pakki.it
User avatar
LORENZO
 
Posts: 393
Joined: 23 March 2011, 16:18
Location: Torino

Re: Campo CDATA in XML

Postby d.pierangeli » 4 February 2019, 13:27

Questa è la nuova mappatura, alla funzione va aggiunto un parametro di tipo XMLDocument perchè abbiamo aggiunto un parametro alla funzione sottesa.

C#: new XMLNode($0.GetNode().AppendChild($0.GetNode().OwnerDocument.CreateCDataSection($1.stringValue())), $2);
Java: new XMLNode($0.GetNode().appendChild($0.GetNode().getOwnerDocument().createCDATASection($1.stringValue())), $2);

Non mi risulta nessuna attività riguardante il CData nel nostro sistema, e nemmeno tra le proposte di modifica, quindi credo che il discorso non sia più andato avanti.

Puoi fare una proposta di modifica nell'help desk linkando questo thread?
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6951
Joined: 30 September 2010, 15:35

Re: Campo CDATA in XML

Postby LORENZO » 4 February 2019, 14:17

Ho sostiruito le funzioni, ma al momento della compilazione in.de mi restituisce l'errore
Code: Select all
App_Code\MyWebEntryPoint.cs(6395,182): error CS1056: Carattere '$' imprevisto


d.pierangeli wrote:Questa è la nuova mappatura, alla funzione va aggiunto un parametro di tipo XMLDocument perchè abbiamo aggiunto un parametro alla funzione sottesa.

C#: new XMLNode($0.GetNode().AppendChild($0.GetNode().OwnerDocument.CreateCDataSection($1.stringValue())), $2);
Java: new XMLNode($0.GetNode().appendChild($0.GetNode().getOwnerDocument().createCDATASection($1.stringValue())), $2);

Non mi risulta nessuna attività riguardante il CData nel nostro sistema, e nemmeno tra le proposte di modifica, quindi credo che il discorso non sia più andato avanti.

Puoi fare una proposta di modifica nell'help desk linkando questo thread?
Attachments
Cattura.JPG
Cattura.JPG (67.44 KiB) Viewed 1468 times
Il mio ultimo lavoro ?
http://www.pakki.it
User avatar
LORENZO
 
Posts: 393
Joined: 23 March 2011, 16:18
Location: Torino

Re: Campo CDATA in XML

Postby d.pierangeli » 4 February 2019, 14:27

Hai anche aggiunto il parametro alla funzione e lo hai gestito nelle tue chiamate?
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6951
Joined: 30 September 2010, 15:35

Re: Campo CDATA in XML

Postby LORENZO » 4 February 2019, 16:30

Cioè questo?

d.pierangeli wrote:Hai anche aggiunto il parametro alla funzione e lo hai gestito nelle tue chiamate?
Attachments
Cattura.JPG
Cattura.JPG (20.26 KiB) Viewed 1459 times
Il mio ultimo lavoro ?
http://www.pakki.it
User avatar
LORENZO
 
Posts: 393
Joined: 23 March 2011, 16:18
Location: Torino

Re: Campo CDATA in XML

Postby d.pierangeli » 4 February 2019, 16:40

Ho ricontrollato, prova con questa:

C#: new XMLNode($0.GetNode().AppendChild($0.GetNode().OwnerDocument.CreateCDataSection($1.stringValue())), $0.GetNode().OwnerDocument);
Java: new XMLNode($0.GetNode().appendChild($0.GetNode().getOwnerDocument().createCDATASection($1.stringValue())), $0.GetNode().OwnerDocument);

Non dovrebbe servire nessun'altra modifica.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6951
Joined: 30 September 2010, 15:35

Re: Campo CDATA in XML

Postby LORENZO » 5 February 2019, 9:42

Niente da fare.
Ora mi restituisce un altro errore:

Code: Select all
App_Code\MyWebEntryPoint.cs(6136,24): error CS1502: La corrispondenza migliore del metodo di overload per 'com.progamma.XMLNode.XMLNode(System.Xml.XmlNode, com.progamma.XMLDoc)' presenta alcuni argomenti non validi
App_Code\MyWebEntryPoint.cs(6136,178): error CS1503: Argomento '2': impossibile convertire da 'System.Xml.XmlDocument' a 'com.progamma.XMLDoc'.


d.pierangeli wrote:Ho ricontrollato, prova con questa:

C#: new XMLNode($0.GetNode().AppendChild($0.GetNode().OwnerDocument.CreateCDataSection($1.stringValue())), $0.GetNode().OwnerDocument);
Java: new XMLNode($0.GetNode().appendChild($0.GetNode().getOwnerDocument().createCDATASection($1.stringValue())), $0.GetNode().OwnerDocument);

Non dovrebbe servire nessun'altra modifica.
Attachments
Cattura.JPG
Cattura.JPG (69.92 KiB) Viewed 1437 times
Cattura.JPG
Cattura.JPG (21.46 KiB) Viewed 1437 times
Il mio ultimo lavoro ?
http://www.pakki.it
User avatar
LORENZO
 
Posts: 393
Joined: 23 March 2011, 16:18
Location: Torino

Re: Campo CDATA in XML

Postby d.pierangeli » 5 February 2019, 13:39

Ti allego un progetto con la mappatura giusta, così puoi direttamente portarla nel tuo progetto.
Attachments
testCdata.zip
(431.9 KiB) Downloaded 103 times
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6951
Joined: 30 September 2010, 15:35

Re: Campo CDATA in XML

Postby LORENZO » 5 February 2019, 15:10

Ok, il progetto non da più errore, ma il file XMl non è corretto.
Code: Select all
<?xml version="1.0" encoding="utf-16"?>
<root><![CDATA[testCData vediamo se funziona]]></root>


Devo poter impostare due valori: il nome del campo ed il valore.
Così ho solo un campo in formato Cdata.

Il risultato deve essere questo, vedi denominazione:

Code: Select all
<DatiAnagrafici>
   <IdFiscaleIVA>
      <IdPaese>IT</IdPaese>
      <IdCodice>07654630016</IdCodice>
   </IdFiscaleIVA>
   <Anagrafica>
      <Denominazione><![CDATA[ABAC ARIA COMPRESSA SPA]]></Denominazione>
   </Anagrafica>
</DatiAnagrafici>


d.pierangeli wrote:Ti allego un progetto con la mappatura giusta, così puoi direttamente portarla nel tuo progetto.
Il mio ultimo lavoro ?
http://www.pakki.it
User avatar
LORENZO
 
Posts: 393
Joined: 23 March 2011, 16:18
Location: Torino

Re: Campo CDATA in XML

Postby d.pierangeli » 5 February 2019, 16:06

No, non devi impostare due valori.

Devi creare un nodo 'Denominazione' e dentro aggiungerci un nodo CData.
User avatar
d.pierangeli
Pro Gamma
Pro Gamma
 
Posts: 6951
Joined: 30 September 2010, 15:35

Next

Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot], Majestic-12 [Bot] and 38 guests

cron