Forums Neueste Beiträge
 

"einfacher" C# WebService DB->XML/SOAP

12/01/2008 - 00:55 von Daniel Liebig | Report spam
Hallo,

als Frischling in .NET und auch XML hànge ich derzeit an einer
eigentlich recht einfachen Problematik.

Ich habe einen SQL-Server 2000 und VS 2005 und möchte einen WebService
in C# schreiben, der mir zwei Tabellen als XML ausgibt. Die Tabellen
sind von der Struktur àhnlich den Suppliers und Product in der Beispiel-DB:

Suppliers:
SupplierID int primary key
CompanyName

Products:
ProductID int primary key
SupplierID int (FK auf Supplier)
ProductName

die Ausgabe muss von der Struktur etwa so aussehen:

<Supplier>
<SupplierID>1</SupplierID>
<CompanyName>Supplier1</CompanyName>
<Products>
<ProductName>Product1</ProductName>
<ProductName>Product2</ProductName>
...
</Products>
</Supplier>
<Supplier>
<SupplierID>2</SupplierID>
<CompanyName>Supplier2</CompanyName>
<Products>
<ProductName>Product3</ProductName>
<ProductName>Product4</ProductName>
...
</Products>
</Supplier>

Der WebService ans sich làuft, nur schaffe ich es nicht diese Struktur
auszugeben, sondern es kommt je nachdem wie ich die Datenquelle angebe
(2 Tabellen oder View mit beidem), entweder erst alle supplier und am
ende alle Produkte

<Supplier>
<SupplierID>1</SupplierID>
<CompanyName>Supplier1</CompanyName>
</Supplier>
<Supplier>
<SupplierID>1</SupplierID>
<CompanyName>Supplier1</CompanyName>
</Supplier>
<Products>
<ProductName>Product1</ProductName>
<ProductName>Product2</ProductName>
...
</Products>
<Products>
<ProductName>Product1</ProductName>
<ProductName>Product2</ProductName>
...
</Products>

oder eben alles so wie in der View eben auch

<Supplier>
<SupplierID>1</SupplierID>
<CompanyName>Supplier1</CompanyName>
<ProductName>Product1</ProductName>
</Supplier>
<Supplier>
<SupplierID>1</SupplierID>
<CompanyName>Supplier1</CompanyName>
<ProductName>Product2</ProductName>
</Supplier>
...

Ich habe schon verschiedene der Beispiele zu DataSets, Relations etc.
aus der MSDN ausprobiert, aber eigentlich ist mir schon klar, solange
ich dem WebService nicht verstàndlich machen kann, wie die Ausgabe
aussehen sollen, tut der halt sein Standard. Nur wie sage ich es ihm?
Übrigens ich verwende nicht wie die alle den SQLAdapter sondern den
OleSQLAdapter, allerdings sind da ansonsten identische Klassen, soweit
ich es überblicke.

Noch was anderes - wie bewege ich den WebService dazu, flat Text
auszugeben, selbst bei

[WebMethod]
public String Method() {
return "Hallo";
}

baut der komplett eine ganze XML-Struktur drumrum. Daher kann ich meine
gewünschte XML-Strukur auch nicht einfach komplett selbst auf die
Ausgabe schreiben.

Schonmal vielen Dank fürs Lesen und nützlich Tipps.

Gruß
Daniel




Bundesrecht, tagesaktuell, transparent, komfortabel? www.buzer.de!
 

Lesen sie die antworten

#1 Peter Fleischer
12/01/2008 - 10:15 | Warnen spam
"Daniel Liebig" schrieb im Newsbeitrag
news:fm8vkl$hgt$

...
Der WebService ans sich làuft, nur schaffe ich es nicht diese Struktur
auszugeben, sondern es kommt je nachdem wie ich die Datenquelle angebe (2
Tabellen oder View mit beidem), entweder erst alle supplier und am ende
alle Produkte
...
Ich habe schon verschiedene der Beispiele zu DataSets, Relations etc. aus
der MSDN ausprobiert, aber eigentlich ist mir schon klar, solange ich dem
WebService nicht verstàndlich machen kann, wie die Ausgabe aussehen
sollen, tut der halt sein Standard. Nur wie sage ich es ihm?



Hi Daniel,
schau dir mal Nested=True an. Setze das True und beim Serialisieren werden
die Child-Datensàtze in den dazugehörigen Master-Datensatz eingebettet.

Viele Gruesse

Peter

Ähnliche fragen