Avatar billede CodingJoe Nybegynder
04. oktober 2012 - 23:53 Der er 5 kommentarer og
1 løsning

XSD defintion af en generic collection

Sikkert et superlet spørgsmål.

Hvordan kan man definere fx. List<Bil> i et xsd? Jeg ved man kan defineret Bil[] i et xml schema, men ved ikke om List<Bil> kan defineres.

public class Bil {
public string Maerke { get; set; }
public string Model { get; set; }
}
Avatar billede arne_v Ekspert
05. oktober 2012 - 00:06 #1
et element af den type med:
  minOccurs="0" maxOccurs="unbounded"
?
Avatar billede CodingJoe Nybegynder
05. oktober 2012 - 00:15 #2
Er det bare det?

Jeg forsøger at bruge xsd.exe til at generere et schema udfra min bil klasse. Men den beklager sig over ikke at kende List<Bil>.

Det er xsd.exe til .net 4.0 frameworket jeg bruger. Jeg vil helst ikke lave det om til Bil[] som xsd.exe ikke har problemer med.
Avatar billede arne_v Ekspert
05. oktober 2012 - 00:51 #3
Jeg proever lige selv at lege lidt med xsd.
Avatar billede arne_v Ekspert
05. oktober 2012 - 01:03 #4
Det virker fint her.

using System;
using System.Collections.Generic;

namespace E
{
    public class X
    {
        public string s { get; set; }
    }
    public class Demo
    {
        public X[] X1 { get; set; }
        public List<X> X2 { get; set; }
    }
}

giver:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org2001/XMLSchema">
  <xs:element name="X" nillable="true" type="X" />
  <xs:complexType name="X">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="s" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Demo" nillable="true" type="Demo" />
  <xs:complexType name="Demo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="X1" type="ArrayOfX" />
      <xs:element minOccurs="0" maxOccurs="1" name="X2" type="ArrayOfX" />
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="ArrayOfX">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="X" nillable="true" type="X" />
    </xs:sequence>
  </xs:complexType>
</xs:schema>
Avatar billede CodingJoe Nybegynder
05. oktober 2012 - 14:52 #5
En typo fejl fra min side...det kan godt lade sig gøre...smid bare et svar ind :D
Avatar billede arne_v Ekspert
05. oktober 2012 - 15:04 #6
svar
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