xml kommagescheiden

Status
Niet open voor verdere reacties.

PeterV1310

Nieuwe gebruiker
Lid geworden
27 mei 2011
Berichten
1
Hallo,
ik heb een vraag:
ik heb een xml met:
<value>22,25,68,77,88,102</value>

nu wil ik dit via xsl omzetten naar:
<value>22</value>
<value>25</value>
<value>68</value>
<value>77</value>
<value>88</value>
<value>102</value>


ik ben al een tijdje bezig geweest maar kom er niet uit.
kan iemand me helpen ?
 
lijkt mij niet te lukken maar als je java kan kan je eens kijken naar http://code.google.com/p/javamylibs/
in de presrc folder kan je een manipulator vinden je laat hem zoeken naar tag
value en seperator stel je in op , en dan zou het moeten lukken het is steambased dus zou de groote van de file geen probleem moeten wezen

Let op de buffer kan groot worden bij geen sluittag dan komt er een outofmemmory die je moet opvangen
 
functie substring

Een beetje late reactie, maar misschien kun je hier de volgende keer wat mee.

Je kunt gebruik maken van de substring functie. Stop de gehele string van value eerst in een variabele. Selecteer hieruit de substring-before de , (dat is dan de eerste komma).
Zet de waarde hiervan in een <value>.
Plaats vervolgens de substring-after de , in de eerder genoemde variabele. Test of deze nog een , bevat en roep de template nogmaals aan. Deze template moet steeds worden aangeroepen als de variabele nog een , bevat.
Indien gewenst kan ik wel een stukje voorbeeld code posten.
 
Laatst bewerkt:
Het mag maar maar hoeft nietgelieven dan wel tussen &/[ code &/] (zonder slach en en )plaatsen maar dat weet je wel denk ik
 
Laatst bewerkt:
Een beetje late reactie, maar misschien kun je hier de volgende keer wat mee.

Je kunt gebruik maken van de substring functie. Stop de gehele string van value eerst in een variabele. Selecteer hieruit de substring-before de , (dat is dan de eerste komma).
Zet de waarde hiervan in een <value>.
Plaats vervolgens de substring-after de , in de eerder genoemde variabele. Test of deze nog een , bevat en roep de template nogmaals aan. Deze template moet steeds worden aangeroepen als de variabele nog een , bevat.
Indien gewenst kan ik wel een stukje voorbeeld code posten.

Kan je beter gebruik maken van de split functie.

Code:
string values = "value1,value2,value3,value4";
string[] splitValues = values.Split(',');
List<string> valueXmlList = new List<string>();

foreach(string value in splitValues)
{
    //of gewoon die value rechstreeks wegschrijven naar xml :)
    valueXmlList.Add("<value>" + value + "</value>");
}
 
mischien weet je het niet maar in een xmlfile kan de waarde tussen twee tags groter zijn dan een String dus je neemt een tag dan heb je twee mogelijkheden
je kan niet casten naar de gevraagde waarde of hij heeft een overflow weer
Daarom heb ik ook een streamreplacer gebouwd deze kan elk stream wijzigen naar welke waarde ook er is één maar dat is memmory de buffer kan zeer groot worden en boven de ruimte van het geheugen zal hij vertragen of niet meer werken spijtig genoeg.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan