08. februar 2004 - 19:08
Der er
9 kommentarer og 1 løsning
Generere xml dokument
Jeg skal generere et xml dokument efter følgende specifikation: <?xml version="1.0" encoding="iso-8859-1"?> <id="firma-id" version="1.1"> <order> ... </order> Jeg arbejder med c#'s System.xml mit spørgsmål er så hvordan får jeg generet følgende linje i xml dokumentet: <id="firma-id" version="1.1"> skal jeg bruge "XmlAttribute" eller en anden "xml" type? hvis i skal bruge mere info så bare sig til ps. jeg har fået generet "<order>" sektionen.
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
08. februar 2004 - 19:15
#1
Den "XML" du angiver er ikke valid XML. Der skal altid et yder element omkring det hele.
08. februar 2004 - 19:21
#2
Du skal også have et navn på <id="firma-id" version="1.1"> fx <fiskefrikadeller id="firma-id" version="1.1">
08. februar 2004 - 19:57
#3
Med XmlTextWriter er det pærenemt at skrive XML. Attributter tilføjes med WriteAttributeString. Simpelt eksempel: using System; using System.IO; using System.Text; using System.Xml; class MainClass { public static void Main(string[] args) { XmlTextWriter xtw = new XmlTextWriter("C:\\z.xml", Encoding.UTF8); xtw.Formatting = Formatting.Indented; xtw.WriteStartDocument(); xtw.WriteStartElement("all"); xtw.WriteStartElement("one"); xtw.WriteAttributeString("f1","1"); xtw.WriteAttributeString("f2","a"); xtw.WriteString("Line 1"); xtw.WriteEndElement(); xtw.WriteStartElement("one"); xtw.WriteAttributeString("f1","2"); xtw.WriteAttributeString("f2","bb"); xtw.WriteString("Line 2"); xtw.WriteEndElement(); xtw.WriteStartElement("one"); xtw.WriteAttributeString("f1","3"); xtw.WriteAttributeString("f2","ccc"); xtw.WriteString("Line 3"); xtw.WriteEndElement(); xtw.WriteEndElement(); xtw.WriteEndDocument(); xtw.Close(); } } output: <?xml version="1.0" encoding="utf-8"?> <all> <one f1="1" f2="a">Line 1</one> <one f1="2" f2="bb">Line 2</one> <one f1="3" f2="ccc">Line 3</one> </all>
08. februar 2004 - 21:11
#4
det er altså ikke muligt at lave følgende linje <id="firma-id" version="1.1"> det skal laves på denne måde for at være validt <order id="firma-id" version="1.1"> ... </order>
08. februar 2004 - 21:13
#5
Ja.
10. februar 2004 - 18:43
#6
Jespers eksempel viser... <?xml version="1.0" encoding="iso-8859-1"?> og ikke... <?xml version="1.0" encoding="utf-8"?> Jeg kan ikke finde en Encoding enum der rammer dette. Kan du Arne? :-) Lars
10. februar 2004 - 20:15
#7
He he. Nej - men: 1) UTF-8 er at foretrække fremfor ISO-8859-1 til lige netop XML. 2) Encoding.Default giver encoding="Windows-1252" og CP-1252 er det samme som ISO-8859-1. Men indrømmet jeg savner også Encoding.ISO88591 meget !
11. februar 2004 - 09:58
#8
hvad er forskellen på UTF-8 og ISO-8859-1, og hvorfor er det ene bedre end det andet ? du har svaret på mit spørgsmål arne_v så her er dine poing, mange tak for hjælpen
11. februar 2004 - 10:13
#9
ISO-8859-1: kun vesteuropæisk, altid 1 byte per bogstav UTF-8: flere sprog, 1 byte per bogstav for ASCII, 2 byte per bogstav for specielle Eller lidt forsimplet: ÆØÅ er kun 1 byte i ISO-8859-1 men 2 byte i UTF-8. Generelt foretrækker jeg iøvrigt ISO-8859-1, men XML standarden siger at UTF-8 support er mandatory mens andre encoding's er optional - derfor er man nok bedst stillet med UTF-8 til XML.
13. februar 2004 - 14:09
#10
:-) Lars
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.