Avatar billede vraa Nybegynder
15. marts 2005 - 10:20 Der er 8 kommentarer og
1 løsning

Gerering af XML on the fly

Jeg benytter følgende komponent og eksempel:
http://www.apnsoft.com/menu/?MD=EX_DynPopulat

Jeg vil gerne have genereret min menu dynamisk ud fra indhold i min DB. Jeg har lavet følgende og ved godt det er forkert, men håber i forstår hvor jeg vil hen:

string menuStructure = String.Empty;
menuStructure = "<menu>";

while(readerMenuText.Read())
{
    menuStructure += "<item title=\"" + readerMenuText["menutext"].ToString() + "\"/>";
}
readerMenuText.Close();
menuStructure += "</menu>";
menu.StructureXMLDocument.LoadXml(menuStructure);

Kan i hjælpe mig?
Avatar billede arne_v Ekspert
15. marts 2005 - 11:00 #1
Hvorfor bruger du ikke XmlDocument direkte til at opbygge dokumentet med ?
Avatar billede vraa Nybegynder
15. marts 2005 - 11:36 #2
Der skal ikke oprettes et dokument men laves en xml struktur som skal sættes ind i StructureXMLDocument.LoadXml som illustreret på ovenstående link.
Avatar billede segato Nybegynder
15. marts 2005 - 16:10 #3
Ved ikke helt hvad spørgsmålet går ud på. Det data du har liggende i din database har det information og hvem der er parents osv? Eller hvordan er dine data organiseret?
Avatar billede vraa Nybegynder
16. marts 2005 - 12:02 #4
Prøver lige at forklare mig på en anden måde:
Jeg har nedenstående kode:

MySqlDataReader readerMenuText    = cmdMenutext.ExecuteReader();

string menuStruktur                = "<?xml version=\"1.0\"?><menu>";
while(readerMenuText.Read())
{                               
    string menutext                = readerMenuText["menutext"].ToString();
    menuStruktur                += "<item title=\"" + readerMenuText["menutext"].ToString() + "\"/>";
}
menuStruktur                    += "</menu>";
menu.StructureXMLDocument.LoadXml(menuStruktur);


Men får følgende fejl: "Der opstod en fejl under parsing af EntityName. Linje 1, position 95.
"

Med denne komponent skal man kunne oprette en menu uden at oprette et nyt xml dokument først.
Avatar billede segato Nybegynder
16. marts 2005 - 12:17 #5
Well man kunne gøre dte på mange måder. At oprette et dokument først for herefter at tage den outerxml er smart da du så ik skal sidde og lave alle de streng manipulationer. Men din måde er også fin.

Hvornår opstår fejlen? Er det mens du bygger strengen op eller er der når du laver din LoadXml til sidst? Hvis du finder ud af det kan vi se om det er en fejl fra databasen eller det er en fejl fra komponenten der forventer et andet indput. Har en lille forstilling om det kunne være dine quotes din komponet ikke forstår. Havde du brugt XmlDocument ville du være sikker på din xml var valid.

string menutext = readerMenuText["menutext"].ToString(); den linie bruger du btw helle ik til det helt store.


I stedet for at
Avatar billede arne_v Ekspert
16. marts 2005 - 19:10 #6
"Der opstod en fejl under parsing af EntityName. Linje 1, position 95."

betyder

"Du har ikke fået erstattet & med &amp;"
Avatar billede vraa Nybegynder
16. marts 2005 - 22:35 #7
Det kan jeg kun give dig ret i arne_v. Nu virker det. Ligger i lige et svar så får i point.
Avatar billede arne_v Ekspert
16. marts 2005 - 22:38 #8
ok
Avatar billede vraa Nybegynder
31. marts 2005 - 13:17 #9
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester