<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.aspnetzone.de/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tag 'Xml'</title><link>http://www.aspnetzone.de/search/SearchResults.aspx?o=DateDescending&amp;tag=Xml&amp;orTags=0</link><description>Search results matching tag 'Xml'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61120.2)</generator><item><title>XML parsen mit jQuery</title><link>http://www.aspnetzone.de/blogs/juergengutsch/archive/2013/02/25/xml-parsen-mit-jquery.aspx</link><pubDate>Mon, 25 Feb 2013 09:07:10 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:224928</guid><dc:creator>Jürgen Gutsch</dc:creator><description>&lt;p&gt;Wenn jQuery DOM kann ist es egal ob es sich um HTML oder XML handelt. Das habe ich letzte Woche festgestellt, als es darum ging XML (leider kein JSON) vom Server zu laden und zu interpretieren. &lt;/p&gt;  &lt;p&gt;So viel Lektüre gibt es zu dem Thema noch nicht, weswegen ich davon ausgehe, dass hier durchaus auf Interesse stoßen kann :-)&lt;/p&gt;  &lt;p&gt;Also jQuery kann nicht nur HTML sondern auch XML. Das interessante dabei ist, dass nicht per XPath durch die elemente navigiert, sondern durchaus mit den gewohnten jQuery Selektoren arbeiten kann.&lt;/p&gt;  &lt;p&gt;Folgender kleiner Ajax-Aufruf holt mir die XML-Daten von einer angegebenen URL:&lt;/p&gt; &lt;code&gt;$.ajax({    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; url: url,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; success: function (xml) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; setTitle(xml);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; setContent(result);     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;});&lt;/code&gt;   &lt;p&gt;in der Methode setTitle greife ich dann per jQuery-Selector auf den wert zu der mir als Titel ausgegeben werden soll:&lt;/p&gt; &lt;code&gt;function setTitle(xml) {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var title = $(xml).find('menuname').text();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; $('#header').text(title);     &lt;br /&gt;}&lt;/code&gt;   &lt;p&gt;mit dem Aufruf von $(xml) erzeuge ich ein jQuery-DOM-Objekt der XML-Daten die hier als String zur Verfügung stehen. über die Methode find('menuname') hole ich mir das Objekt des “menuname”-Tags um dann den Inhalt auszulesen.&lt;/p&gt;  &lt;p&gt;Im folgenden (nicht ganz schönen) Konstrukt iteriere ich durch eine Anzahl von “element”-Tags um dann auch auf deren Attribute zuzugreifen:&lt;/p&gt; &lt;code&gt;$(xml).find('element').each(function () {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var type = $(this).attr('type');     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (type === &amp;quot;paragraph&amp;quot;) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; result += $(this).find('text').text();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; if (type === &amp;quot;image&amp;quot;) {     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var imageValue = $(this).find('picture').text();     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; result += '&amp;lt;image src=&amp;quot;' + imageValue + '&amp;quot;&amp;gt;';     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; }     &lt;br /&gt;});&lt;/code&gt;   &lt;p&gt;Wie man sieht, sind das tatsächlich die klassischen jQuery-Methoden die hier verwendet werden. Ein umständliches Umwandeln in JSON ist für einfache kleine Datenmengen auf diese Art nicht notwendig. Nochweniger muss auf XMLHTTP oder XMLDOM zurückgefriffen werden um sich mühsam durch den DOM zu hangeln.&lt;/p&gt;  &lt;p&gt;Selbstverständlich sind auch etwas komplexere Selektoren möglich:&lt;/p&gt; &lt;code&gt;$(xml).find('page containers container[name=content] elements element').each(function(){    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; //     &lt;br /&gt;});&lt;/code&gt;   &lt;p&gt;Was ich nicht getestet habe, sind CSS-Class- und ID-Selektoren im XML. Ich kann mir allerdings gut vorstellen, dass diese ebenfalls funktionieren. Falls man CSS-Classes und IDs im XML nutzen möchte ;-)&lt;/p&gt;</description></item><item><title>Kein Zugriff vom Clientprogramm auf den Webserice auf einem MS Server 2008r2</title><link>http://www.aspnetzone.de/forums/post/224331.aspx</link><pubDate>Fri, 25 May 2012 09:33:06 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:224331</guid><dc:creator>omega90</dc:creator><description>&lt;p&gt;Hi&lt;/p&gt;&lt;p&gt;Durchführung:&amp;nbsp;&lt;/p&gt;&lt;p&gt;Ich hab eine WinForm Anwendung erstellt die eine Reference auf einen Webservice besitzt den ich wiederrum auf einem Server im IIS7 bereitstelle. Vom IE aus gelange ich auf diesen Dienst vom Client und auch vom Server aus draufzu.&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mein Clientprogramm:&lt;/strong&gt; Über einen Button kann ich testen ob eine Verbindung zum Dienst besteht.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;...&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;using&lt;/span&gt; ExcangeServerTool.lwserv170; &lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;namespace&lt;/span&gt; ExcangeServerTool&lt;br /&gt;{&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; partial &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;class&lt;/span&gt; Form1 : Form&lt;br /&gt;    {&lt;br /&gt;        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; Form1()&lt;br /&gt;        {&lt;br /&gt;            InitializeComponent();&lt;br /&gt;        }&lt;br /&gt;        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;private&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;void&lt;/span&gt; btnConnectionTest_Click(&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                lwserv170.Service1 dienst &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; lwserv170.Service1();&lt;br /&gt;                MessageBox.Show(dienst.ConnectionTest()); &lt;br /&gt;            }&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;catch&lt;/span&gt; (Exception ex)&lt;br /&gt;            {&lt;br /&gt;                MessageBox.Show(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"Es besteht keine Verbindung zum LWProjekte Dienst:"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;+&lt;/span&gt; ex.ToString());&lt;br /&gt;            }&lt;br /&gt;        }....&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Mein Webservice:&lt;/strong&gt; Dieser gibt nur einen String zurück der Sagt das die verbindung besteht.&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;...&lt;br /&gt;        [WebMethod]&lt;br /&gt;        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt; ConnectionTest()&lt;br /&gt;        {&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;return&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"Die Verbindung zum LWProjekte Dienst besteht"&lt;/span&gt;;&lt;br /&gt;        }&lt;br /&gt;...&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Was mir aufgefallen ist:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Aufgefallen ist mir das wenn ich das lokal verwende und sagen wir bei der Webreference in der Eigenschaft &lt;strong&gt;Webverweis-URL&lt;/strong&gt; die lokale Adresse stehen habe funktioniert das ganze. Doch wenn ich dann die Adresse vom Server nehme bekomme ich eine Fehler meldung die mir folgendes sagt....&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Fehler bei der Anforderung mit HTTP-Status 401: Unauthorized.&amp;nbsp;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Nahc dieser meldung steht noch weitere Daten die mir jedoch leider nicht sehr viel weiterhelfen ...&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;bei&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;System.Web.Services.Protcols.SoapHTTPClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, StreamresponseStream, Boolean asyncCall)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;bei System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;bei ExcangeServerTool.lwserv170.Service1.ConnectionTest() in Reference.cs &lt;/font&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Zeile 112.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Ich habe darauf hin in der Reference.cs nachgeschaut und das folgende gesehen:&lt;/strong&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;br&gt;&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;/// &amp;lt;remarks/&amp;gt;&lt;/span&gt;&lt;br /&gt;        [System.Web.Services.Protocols.SoapDocumentMethodAttribute(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"http://tempuri.org/ConnectionTest"&lt;/span&gt;, RequestNamespace=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"http://tempuri.org/"&lt;/span&gt;, ResponseNamespace=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"http://tempuri.org/"&lt;/span&gt;, Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]&lt;br /&gt;        &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt; ConnectionTest() {&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;object&lt;/span&gt;[] results &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;this&lt;/span&gt;.Invoke(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"ConnectionTest"&lt;/span&gt;, &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;object&lt;/span&gt;[0]);&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;return&lt;/span&gt; ((&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt;)(results[0]));&lt;br /&gt;        }&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Das sagt mir leider nicht viel ;(&amp;nbsp;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Auf dem Server im IIS7 Einstellungen:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Auf dem Server liegt das ganze unter &lt;strong&gt;&lt;em&gt;C:\inetpub\wwwroot\&lt;/em&gt;&lt;/strong&gt; in einem Ordner und wrd im IIS bereitgestellt. Bei den Einstellungen des IIS habe ich bei meinem Dienst dem ich den &lt;strong&gt;Aliasnamen lwservice&lt;/strong&gt; gegeben habe in der &lt;strong&gt;&lt;font color="#0000ff"&gt;Authentifizierung, Anonyme Authentifizierung deaktiviert und Windows Authentifizierung Aktiviert&lt;/font&gt;&lt;/strong&gt;. Vllt hängt es ja auch daran ;(&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Webservice Start:&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Auf dem Client:&lt;/p&gt;&lt;p&gt;Wenn ich es dann starte erhalte ich folgendes zurück:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;&amp;lt;string&amp;gt;Die Verbindung zum LWProjekte Dienst besteht&amp;lt;/string&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Auf dem Server:&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;div class="e"&gt;&lt;span class="b"&gt;&amp;nbsp;&lt;/span&gt; &lt;span class="m"&gt;&lt;strong&gt;&amp;lt;?&lt;/strong&gt;&lt;/span&gt;&lt;span class="pi"&gt;&lt;strong&gt;xml 
version="1.0" encoding="utf-8" &lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;?&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/div&gt;&lt;strong&gt;
&lt;/strong&gt;&lt;div class="e"&gt;&lt;strong&gt;
&lt;/strong&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="b"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;&lt;span class="m"&gt;&lt;strong&gt;&amp;lt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="t"&gt;&lt;strong&gt;string&lt;/strong&gt;&lt;/span&gt;&lt;span class="ns"&gt;&lt;strong&gt; xmlns&lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;="&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;http://tempuri.org/&lt;/strong&gt;&lt;span class="m"&gt;&lt;strong&gt;"&lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="tx"&gt;&lt;strong&gt;Die Verbindung zum LWProjekte Dienst 
besteht&lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;&amp;lt;/&lt;/strong&gt;&lt;/span&gt;&lt;span class="t"&gt;&lt;strong&gt;string&lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;&amp;gt;&lt;/strong&gt;&lt;/span&gt; &lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;lWas passiert da genau? warum wird das anderst angezeigt :/?&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;Wenn jemand eine Idee hat warum das ganze nicht funktioniert freue ich mich auf deren Hilfe !!&amp;nbsp;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;gruß w.t.&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;span class="m"&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="TEXT-INDENT:-2em;MARGIN-LEFT:1em;"&gt;&lt;span class="m"&gt;&lt;strong&gt;&lt;br&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;</description></item><item><title>Webservice Client</title><link>http://www.aspnetzone.de/forums/post/220569.aspx</link><pubDate>Sun, 16 Jan 2011 19:32:41 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:220569</guid><dc:creator>Schank</dc:creator><description>Hallo Zusammen,&lt;br&gt;&lt;br&gt;bitte nicht gleich mir den Kopf abschlagen, aber ich habe ein Verständnisproblem und komme einfach nicht weiter.&lt;br&gt;&lt;br&gt;Ich muss einen Webdienst per XML und SOAP ansprechen und bekommen ich bei req.GetResponse() im Code folgende Fehlermeldung: "Der Remoteserver hat einen Fehler zurückgegeben: (501) Nicht implementiert." (WebException wurde nicht vom Benutzercode behandelt).&lt;br&gt;&lt;br&gt;Code:&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;HttpWebRequest req &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; (HttpWebRequest)WebRequest.Create(https:......./services);&lt;br /&gt;req.ClientCertificates.Add(clientCert);&lt;br /&gt;req.Credentials &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; NetworkCredential(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"BN"&lt;/span&gt;, &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"PW"&lt;/span&gt;);&lt;br /&gt;req.UserAgent &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"Mozilla/4.0 (compatible; MSIE8.0; Windows NT 6.0; WOW64)"&lt;/span&gt;;&lt;br /&gt;req.Method &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"POST"&lt;/span&gt;;&lt;br /&gt;req.MediaType &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"text/xml"&lt;/span&gt;;&lt;br /&gt;req.SendChunked &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;true&lt;/span&gt;;&lt;br /&gt;req.TransferEncoding &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"UTF8"&lt;/span&gt;;&lt;br /&gt; &lt;br /&gt;XmlDocument xml &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; XmlDocument();&lt;br /&gt;xml.Load(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;@"C:\Test.xml"&lt;/span&gt;);&lt;br /&gt;Stream stm &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; req.GetRequestStream();&lt;br /&gt;StreamWriter sw &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; StreamWriter(stm);&lt;br /&gt;sw.Write(xml.InnerXml.ToString());&lt;br /&gt; &lt;br /&gt;HttpWebResponse response &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; (HttpWebResponse)req.GetResponse();&lt;br /&gt;Stream s &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; response.GetResponseStream();&lt;br /&gt;StreamReader sr &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; StreamReader(s, Encoding.ASCII);&lt;br /&gt; &lt;br /&gt;xml.InnerXml &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; sr.ReadToEnd();&lt;br /&gt;sr.Close();&lt;br /&gt;xml.Save(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;@"C:\vomHost.xml"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;br&gt;Vielleicht kann mir auch noch jemand mitteilen, wie der richtige Ablauf einer SOAP-Anfragen an einen Webdienst funktioniert HTTP-Header etc.&lt;br&gt;&lt;br&gt;Ersmal vielen Dank an alle, dir mir eine Hilfestellung sind.&lt;br&gt;&lt;br&gt;Gruß&lt;br&gt;Ingo Schank&lt;br&gt;&lt;br&gt;</description></item><item><title>XML Datei aus Datenbank auf die Festplatte speichern</title><link>http://www.aspnetzone.de/forums/post/217267.aspx</link><pubDate>Fri, 14 May 2010 11:50:51 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:217267</guid><dc:creator>MFG</dc:creator><description>Hallo,&lt;br&gt;&lt;br&gt;habe eine XML Datei in eine Datenbank gespeichert, was auch funktioniert:&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;FileStream fs &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; FileStream(PfadZurDatei);&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;byte&lt;/span&gt;[] fileByte &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;byte&lt;/span&gt;[fs.Length];&lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;int&lt;/span&gt; fileLength &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; fileByte.Length;&lt;br /&gt;&lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;//Hier werden die Werte in die Datenbank geschrieben &lt;/span&gt;&lt;br /&gt;MethodeInsert(fileByte,&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"text/xml"&lt;/span&gt;,dateiname,fileLength)     &lt;span style="color: Green;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;//(DataTyp Image, DataTyp String, DataTyp String, DataTyp Int)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Jetzt komm ich nicht weiter.&lt;br&gt;Wie kann ich wieder diese XML-Datei aus der Datenbank laden und direkt auf der Festplatte, in irgendein Ordner, ablegen?&lt;br&gt;&lt;br&gt;Kann mir dabei jemand helfen.&lt;br&gt;&lt;br&gt;Danke&lt;br&gt;MFG&lt;br&gt;</description></item><item><title>DI / IoC Container LightCore Teil 2: Registrierung &amp;#252;ber Xml Modul</title><link>http://www.aspnetzone.de/blogs/robertobez/archive/2010/02/21/ioc-container-lightcore-registration-xml-module.aspx</link><pubDate>Sun, 21 Feb 2010 16:02:00 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:216096</guid><dc:creator>Roberto</dc:creator><description>&lt;img alt="LightCore Xml Registration module" src="http://11249.2.sihosting.net/Blog/Images/LightCoreXml.gif" style="margin-right:5px;margin-bottom:5px;margin-top:5px;float:left;"&gt;Wie bereits im &lt;a href="http://www.aspnetzone.de/blogs/robertobez/archive/2010/01/16/inversion-of-control-di-ioc-container-lightcore.aspx"&gt;ersten Teil&lt;/a&gt; erwähnt, wird es einer mehr Schichten Architektur immer wichtiger, Abhängigkeiten zu minimieren. Dabei einen ersten Schritt zu setzen, ist die Implementierung eines IoC Containers. Dieser hilft dabei, den Code in den diversen Projekten unabhängiger zu halten.&lt;br&gt;&lt;br&gt;&lt;a href="http://www.aspnetzone.de/blogs/robertobez/archive/2010/01/16/inversion-of-control-di-ioc-container-lightcore.aspx" title="LightCore - Einführung"&gt;1. LightCore – Einführung&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.aspnetzone.de/blogs/robertobez/archive/2010/02/21/ioc-container-lightcore-registration-xml-module.aspx" title="LightCore - Registrierung über Xml Module"&gt;2. LightCore – Registrierung über Xml Module&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.aspnetzone.de/blogs/robertobez/archive/2010/02/21/ioc-container-lightcore-registration-generics.aspx" title="LightCore - Registrierung von Generics"&gt;3. LightCore – Registrierung von Generics&lt;/a&gt;&lt;br&gt;&lt;br&gt;Mich persönlich hat &lt;a href="http://www.aspnetzone.de/blogs/peterbucher/" title="Peter Bucher" target="_blank"&gt;Peter Bucher&lt;/a&gt; mit seinem neusten Projekt &lt;a target="_blank" href="http://lightcore.peterbucher.ch/"&gt;LightCore&lt;/a&gt; darauf aufmerksam gemacht. Anfangs war dies nur als Unit Testing Spielwiese gedacht, hat sich aber zu einem konkurrenzfähigen Micro Kernel entwickelt. Dessen weitere Entwicklung wird in Zukunft per Community gesteuert. Der Source Code wurde veröffentlicht und ist auf jeden Fall einen Blick Wert! (Stichwort: Codequalität)&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Zurück zum Thema. Viele werden sich denken, was bringt mir das Ganze eigentlich?&lt;br&gt;&lt;ul&gt;&lt;li&gt;Abhängigkeiten verringern und Kontrolle der Abhängigkeiten (Interface / Basisklasse - also Abstraktion) und dadurch auf die Instanziierung (Die sonst auf den konkreten Typen geht), rausziehen.&lt;/li&gt;&lt;li&gt;Dadurch bessere Testbarkeit und Aufbrechung der Anwendung in mehr Einzelteile, wodurch die Komplexität sinkt.&lt;/li&gt;&lt;li&gt;Außerdem globale Konfigurierbarkeit, was genutzt werden soll um Änderungen an vielen, unnötigen Stellen vorzunehmen.&lt;br&gt;&lt;/li&gt;&lt;/ul&gt;Nun wird anhand eines Beispiels wird gezeigt, wie man Lightcore in einer drei Schichten Architektur einsetzen bzw. integrieren kann.&lt;br&gt;Gleichzeitig wird die Registrierung über das integrierte Xml Modul erklärt&lt;br&gt;&lt;br&gt;Was eine drei Schichten Architektur (Tier 3 layer) ist, erklärt &lt;a target="_blank" href="http://code-inside.de/blog/"&gt;Robert Mühsig&lt;/a&gt; in &lt;a target="_blank" href="http://code-inside.de/blog/2008/07/09/howto-3-tier-3-schichten-architektur/"&gt;seinem Post&lt;/a&gt;.&lt;br&gt;&lt;br&gt;Das folgende Beispiel wird eine Solution mit mehreren Projekten beinhalten, die eine Anwendung mit mehreren Schichten darstellt.&lt;br&gt;&lt;br&gt;Die Klassische Struktur sieht wie folgt aus:&lt;br&gt;&lt;ul&gt;&lt;li&gt;Data Access Layer&lt;/li&gt;&lt;li&gt;Business Layer&lt;/li&gt;&lt;li&gt;Presentation Layer&lt;/li&gt;&lt;/ul&gt;Folglich könnten die Projekte so benannt werden:&lt;br&gt;&lt;br&gt;&lt;b&gt;Data&lt;/b&gt;: beinhaltet eine &lt;u&gt;User&lt;/u&gt;&lt;b&gt; &lt;/b&gt;Klasse sowie das dazugehörige &lt;u&gt;Repository&lt;/u&gt;.&lt;br&gt;&lt;br&gt;&lt;b&gt;Service&lt;/b&gt;: beinhaltet einen &lt;u&gt;User Service&lt;/u&gt; mit dem
 Repository als Member, der per Constructor Injection injiziert wird.&lt;br&gt;&lt;br&gt;&lt;b&gt;Web&lt;/b&gt;:
 Die Präsentation&lt;br&gt;&lt;br&gt;&lt;img alt="LightCore Xml Registration Project Tree" src="http://11249.2.sihosting.net/Blog/Images/LightCoreDemoPartTwo.jpg"&gt;&lt;br&gt;&lt;br&gt;Im &lt;a href="http://www.aspnetzone.de/blogs/robertobez/archive/2010/01/16/inversion-of-control-di-ioc-container-lightcore.aspx"&gt;ersten Teil des Posts&lt;/a&gt; wurde gezeigt, wie man Kontrakte einfach per code (global.asax) registrieren kann. Der erste Schritt wird sein, die Registrierung in die &lt;b&gt;Web/App.config&lt;/b&gt; bzw. einer eigenen Konfigurationsdatei auszulagern.&lt;br&gt;&lt;br&gt;Wer achte gibt sieht, dass beim &lt;a href="http://lightcore.peterbucher.ch/download.aspx"&gt;heruntergeladenen Paket&lt;/a&gt; unter Anderem eine XML Schema Datei (LightCore.xsd), sowie eine Beispiel Konfiguration (SampleConfiguration.xml) dabei ist.&lt;br&gt;Nun die Datei LightCore.xsd dem aktuellen Web Projekt hinzufügen.&lt;br&gt;&lt;br&gt;Es kann eine eigene Konfigurationsdatei erstellt werden, oder aber einfach den entsprechenden Block in die Web/App.config hinzufügen.&lt;br&gt;Wer sich für letzteres entscheidet, den Block, der innerhalb der SampleConfiguration.xml zu finden ist, einfach in den &amp;lt;configuration&amp;gt; Abschnitt packen.&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;configuration&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    …&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;LightCoreConfiguration&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xmlns&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="clr-namespace:LightCore.Configuration;assembly=LightCore.Configuration"&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Als erstes kommt die Einstellung über den genutzten Lebenszyklus, also ob Singleton, Transient oder HttpRequest.&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;LightCoreConfiguration.TypeAliases&amp;gt;&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;TypeAlias&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Alias&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="HttpRequest"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Type&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="LightCore.Integration.Web.HttpRequestLifecycle, LightCore.Integration.Web"&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/LightCoreConfiguration.TypeAliases&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Jetzt die eigentliche &lt;b&gt;Registrierung&lt;/b&gt;.&lt;br&gt;Einfache Registrierungen ohne Gruppen kommen in die LightCoreConfiguration.Registrations Sektion:&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;LightCoreConfiguration.Registrations&amp;gt;&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Registration&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Name&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyRepository"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;ContractType&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyAssembly.IUserRepository, MyAssembly"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;ImplementationType&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyAssembly.Repository, MyAssembly"&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/LightCoreConfiguration.Registrations&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Sollte selbsterklärend sein, Namensangabe um den registrierten Kontrakt wiederzufinden, der Kontrakttyp sowie die Klasse mit jeweiliger Angabe des Assembly Namens. Optionale Argumente für den Konstruktor können über Arguments=“Value1, Value2“ mitgegeben werden. Wenn die LightCore.xsd im Projekt eingebunden wurde, sollte auch IntelliSense zur Verfügung stehen!&lt;br&gt;&lt;br&gt;Ist eine gruppierte Registrierung gewollt, um bspw. die Repositories zu sammeln, gibt es auch hierfür eine Sektion:&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;LightCoreConfiguration.RegistrationGroups&amp;gt;&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;RegistrationGroup&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Name&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="Repositories"&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &amp;lt;RegistrationGroup.Registrations&amp;gt;&lt;br /&gt;            &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Registration&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;Name&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyRepository"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;ContractType&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyAssembly.IUserRepository, MyAssembly"&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;ImplementationType&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="MyAssembly.Repository, MyAssembly"&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &amp;lt;/RegistrationGroup.Registrations&amp;gt;&lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;RegistrationGroup&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;lt;/LightCoreConfiguration.RegistrationGroups&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Jetzt wo die Registrierung der Repositories gemacht wurde, muss der Container erstellt und das &lt;b&gt;Konfigurationsmodul&lt;/b&gt; zugewiesen werden.&lt;br&gt;&lt;br&gt;Dies sollte in der Globalen Anwendungsdatei (global.asax) in der Application_Start methode gemacht werden:&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;protected&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;void&lt;/span&gt; Application_Start(&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;    var builder &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; ContainerBuilder();&lt;br /&gt;    var module &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; XamlRegistrationModule();&lt;br /&gt;    builder.RegisterModule(module);&lt;br /&gt;    _container &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; builder.Build();&lt;br /&gt;}&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Wenn gewollt, kann die Konfigurationsdatei im Konstruktor des XamlRegistrationModules angegeben werden:&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;var module &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;new&lt;/span&gt; XamlRegistrationModule(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"~/MyConfiguration.xml"&lt;/span&gt;)&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Die Objekte können wie gehabt mit resolve aufgelöst werden&lt;br&gt;&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;var myRepository &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; _container.Resolve&amp;lt;IRepository&amp;gt;(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"MyRepository"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;&lt;b&gt;Fazit: Welche Variante ist nun besser?&lt;/b&gt;&lt;br&gt;&lt;br&gt;Registrierung per Code hat den Vorteil, dass weniger Fehler auftreten können.&lt;br&gt;Da es kompiliert werden muss, wird überprüft ob der Kontrakt implementiert ist oder nicht.&lt;br&gt;&lt;br&gt;Somit ist es intuitiver und Refactoring-sicher. Wenn eine Klasse umbenannt wird – wird sie auch hier übernommen.&lt;br&gt;&lt;br&gt;Allerdings hat die Registrierung per Code einen riesen Haken: Es ist eine harte – also feste – Referenz.&lt;br&gt;Wenn eine Assembly, aus welchem Grund auch immer, ausgetauscht wird, muss das komplette Projekt neu kompiliert werden.&lt;br&gt;&lt;br&gt;Sollte das bei einer Produktivumgebung der Fall sein, kann das ein großer Nachteil sein. Dadurch muss ein komplettes Deployment gemacht werden.&lt;br&gt;&lt;br&gt;Was also „besser“ ist, hängt vom Anwendungsfall ab.&lt;br&gt;Ich persönlich finde die „per Code“ Variante bei nicht allzu vielen Klassen übersichtlich.&lt;br&gt;Eine gut durchdachte Anwendungsstruktur von Anfang an ist natürlich Voraussetzung :-) &lt;br&gt;&lt;br&gt;Anbei gibt’s wie immer das oben gezeigte Beispiel als Download.&lt;br&gt;&lt;br&gt;
&lt;div class="DownloadBox"&gt;
&lt;a href="http://www.aspnetzone.de/files/folders/216101/download.aspx" title="Download LightCore Demo: Einführung"&gt;LightCore Demo: Einführung&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.aspnetzone.de/files/folders/216102/download.aspx" title="Download LightCore Demo: Registrierung über Xml Modul"&gt;LightCore Demo: Registerirung über Xml Module&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.aspnetzone.de/files/folders/216103/download.aspx" title="Download LightCore Demo: Registrierung von Generics"&gt;LightCore Demo: Registrierung von Generics&lt;/a&gt;&lt;br&gt;
&lt;/div&gt;</description></item><item><title>LINQ to XML: Queries auf XML mit Namespaces</title><link>http://www.aspnetzone.de/blogs/juergengutsch/archive/2009/08/13/linq-to-xml-querys-auf-xml-mit-namespaces.aspx</link><pubDate>Thu, 13 Aug 2009 09:30:00 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:212145</guid><dc:creator>Jürgen Gutsch</dc:creator><description>&lt;P&gt;Beim Zugriff auf XML mit bestimmten XML-Namespaces kommt es beim herkömmlichen Queries zu einem Fehler. Wie auch beim XMLDoxument muss beim den Abfragen auf bestimmte Knoten ein Namespace angegeben werden.&lt;/P&gt;
&lt;P&gt;Ausgangspunkt bei mir ist eine Abfrage per WebDAV auf einen Exchange Server, bei der ich ungefähr folgende Antwort erhalte: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xml&lt;/span&gt; &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;version&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="1.0"&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;?&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:multistatus&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xmlns:b&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xmlns:d&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="urn:schemas:httpmail:"&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xmlns:c&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="xml:"&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;xmlns:a&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;="DAV:"&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:response&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:href&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;http://mdomain/exchange/Account/&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:href&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:propstat&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;      &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:status&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;HTTP/1.1 200 OK&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:status&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;  &lt;br /&gt;      &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:prop&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;      &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:prop&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:propstat&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;  &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:response&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: Maroon;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;a:multistatus&lt;/span&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;Folgende Abfrage liefert einen Fehler: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;XDocument xdoc &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XDocument.Load(xmlResponseReader); &lt;br /&gt;XElement xelement &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; xdoc.Element(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"a:multistatus"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;BLOCKQUOTE style="MARGIN-RIGHT:0px;" dir=ltr&gt;
&lt;P&gt;&lt;EM&gt;XmlException: The ':' character, hexadecimal value 0x3A, cannot be included in a name.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Um das Element nun fehlerfrei zu erhalten muss es wie folgt abgefragt werden: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;XDocument xdoc &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XDocument.Load(xmlResponseReader); &lt;br /&gt;XElement xelement &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; xdoc.Element(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"{DAV:}multistatus"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;Damit haben wir den – aus meiner Sicht - ersten und einzigen, aber recht großen Nachteil von LINQ to XML gefunden: Die Namespaces müssen direkt in den Namen des Elements eingegeben werden.&lt;/P&gt;
&lt;P&gt;Die &lt;A title="How to: Write Queries on XML in Namespaces" href="http://msdn.microsoft.com/en-us/library/bb669152.aspx"&gt;Lösung die in der MSDN angeboten wird&lt;/A&gt;, ist auch nicht besser: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;XDocument xdoc &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XDocument.Load(xmlResponseReader); &lt;br /&gt;XNamespace a &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"DAV:"&lt;/span&gt;; &lt;br /&gt;XElement xelement &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; xdoc.Element(a &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;+&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"multistatus"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;Mir stellt sich hier die Frage: Wieso erstelle ich ein XNamespace-Object wenn ich es dann doch per String-Gebastel in den Elementnamen einbauen muss. Der &lt;A title="You Have *GOT* To Be Kidding Me!" href="http://msdn.microsoft.com/en-us/library/bb669152.aspx#CommunityContent"&gt;Kommentator in der MSDN Dokumentation&lt;/A&gt; ist ganz offensichtlich der selben Meinung.&lt;/P&gt;
&lt;P&gt;&lt;A title="Peter Bucher: Auf den Spuren von .NET" href="http://www.aspnetzone.de/blogs/peterbucher/default.aspx"&gt;Peter&lt;/A&gt; hat für dieses Problem eine kleine elegante Lösung, indem er für die Methoden &lt;A title="XContainer.Element Method" href="http://msdn.microsoft.com/en-us/library/system.xml.linq.xcontainer.element.aspx"&gt;Element&lt;/A&gt; und &lt;A title="XContainer.Elements Method" href="http://msdn.microsoft.com/en-us/library/system.xml.linq.xcontainer.elements.aspx"&gt;Elements&lt;/A&gt; jeweils eine &lt;A title="Neues .NET 3.5 Feature: Extension Methods" href="http://www.aspnetzone.de/blogs/juergengutsch/archive/2007/11/14/neues-net-3-5-feature-extension-methods.aspx"&gt;Extension Methode&lt;/A&gt; geschrieben hat: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;static&lt;/span&gt; IEnumerable&amp;lt;XElement&amp;gt; Elements( &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;this&lt;/span&gt; XContainer source, &lt;br /&gt;    XNamespace ns, &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt; name) &lt;br /&gt;{ &lt;br /&gt;  &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;return&lt;/span&gt; source.Elements(ns &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;+&lt;/span&gt; name); &lt;br /&gt;} &lt;br /&gt;&lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;public&lt;/span&gt; &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;static&lt;/span&gt; XElement Element( &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;this&lt;/span&gt; XContainer source, &lt;br /&gt;    XNamespace ns, &lt;br /&gt;    &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;string&lt;/span&gt; name) &lt;br /&gt;{ &lt;br /&gt;  &lt;span style="color: Blue;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;return&lt;/span&gt; source.Element(ns &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;+&lt;/span&gt; name); &lt;br /&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;So kann ich wenigstens außerhalb der Extension Methoden ohne String-Gebastel auskommen: &lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;XDocument xdoc &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XDocument.Load(xmlResponseReader); &lt;br /&gt;XNamespace a &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"DAV:"&lt;/span&gt;; &lt;br /&gt;XElement xelement &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; xdoc.Element(a, &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"multistatus"&lt;/span&gt;);&lt;/span&gt;&lt;/code&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblog.drescher-hackel.de/"&gt;René&lt;/A&gt; hat mich per Kommentar darauf hingewiesen, dass man die Elemente natürlich auch per &lt;A href="http://msdn.microsoft.com/de-de/library/bb299741.aspx"&gt;XName&lt;/A&gt; abfragen kann. Das ganze sieht dann so aus:&lt;BR&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;XDocument xdoc &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XDocument.Load(xmlResponseReader); &lt;br /&gt;XName xname &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; XName.Get(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"multistatus"&lt;/span&gt;, &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"DAV:"&lt;/span&gt;); &lt;br /&gt;XElement xelement &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; xdoc.Element(xname);&lt;/span&gt;&lt;/code&gt;&lt;BR&gt;&lt;/P&gt;
&lt;DIV style="TEXT-ALIGN:left;PADDING-BOTTOM:4px;MARGIN:0px;PADDING-LEFT:4px;PADDING-RIGHT:4px;PADDING-TOP:4px;" class=wlWriterHeaderFooter&gt;&lt;A href="http://dotnet-kicks.de/kick/?url=http://www.aspnetzone.de/blogs/juergengutsch/archive/2009/08/13/linq-to-xml-querys-auf-xml-mit-namespaces.aspx"&gt;&lt;IMG border=0 alt="DotNetKicks-DE Image" src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=http://www.aspnetzone.de/blogs/juergengutsch/archive/2009/08/13/linq-to-xml-querys-auf-xml-mit-namespaces.aspx&amp;amp;bgcolor=3169AD&amp;amp;fgcolor=FFFFFF&amp;amp;border=000000&amp;amp;cbgcolor=D4E1ED&amp;amp;cfgcolor=000000"&gt;&lt;/A&gt;&lt;/DIV&gt;</description></item><item><title>ASPX Seiten Fehler bei Darstellung</title><link>http://www.aspnetzone.de/forums/post/211226.aspx</link><pubDate>Tue, 07 Jul 2009 17:51:59 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:211226</guid><dc:creator>Marius_WebDev2009</dc:creator><description>Hallo Zusammen,&lt;br&gt;&lt;br&gt;ich habe eine Website in Microsoft Visual Studio 2008 Version 9.0.30729.1 SP Microsoft .NET Framework&lt;br&gt;Version 3.5 SP1 Installierte Edition: WD Express geschrieben. Im Visual Studio werden alle Schaltflächen korrekt angezeigt. Lade ich jedoch die Seite auf den Server sind die ASP Schaltflächen komplett deaktiviert. &lt;br&gt;Außerdem bekomme ich diese Fehlermeldung: &lt;br&gt;XML-Verarbeitungsfehler: nicht wohlgeformt&lt;br&gt;Zeile Nr. 1, Spalte 2:&amp;lt;%@ Page Language="VB" AutoEventWireup="false" CodeFile="Test.aspx.vb" Inherits="Test" %&amp;gt;&lt;br&gt;-^&lt;br&gt;&lt;br&gt;Der Provider bietet folgende Leistungen: &lt;font face="Times New Roman" size="3"&gt;&lt;span style="font-style:normal;"&gt;ASP / ASP.net / Frontpage und &lt;/span&gt;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="font-style:normal;"&gt;PHP / CGI / Perl&lt;br&gt;(sollte also eigentlich alles gehen). &lt;br&gt;&lt;br&gt;Wäre nett wenn mir da jemand weiterhelfen kann. &lt;br&gt;&amp;nbsp;
			&lt;/span&gt;&lt;/font&gt;&lt;font face="Times New Roman" size="3"&gt;&lt;span style="font-style:normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;
		&lt;address&gt;&lt;font face="Arial" size="2"&gt;&lt;span style="font-style:normal;"&gt;&lt;br&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/address&gt;</description></item><item><title>DataGridView XML Source: Elemente Anzeigen</title><link>http://www.aspnetzone.de/forums/post/209524.aspx</link><pubDate>Mon, 20 Apr 2009 08:43:08 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:209524</guid><dc:creator>aerodur</dc:creator><description>Hi.&lt;br&gt;Finde für folgendes Problem keine Lösung.&lt;br&gt;Ich habe ein XML File, dass als Quelle für ein DataGridView benutzt wird. Das funktioniert auch wunderbar über ein dataSet.&lt;br&gt;&lt;br&gt;Hier mal der Quellcode:&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;dataSetLoadXml.ReadXml(&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;@"C:\file.xml"&lt;/span&gt;);&lt;br /&gt;dataGridViewShowXml.DataSource &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; dataSetLoadXml;&lt;br /&gt;dataGridViewShowXml.DataMember &lt;span style="color: Red;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;=&lt;/span&gt; &lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"leaf"&lt;/span&gt;;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Das Xml File sieht so aus:&lt;br&gt;&lt;code&gt;&lt;span style="color: Black;background-color: Transparent;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;&amp;lt;?xml version=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"1.0"&lt;/span&gt; encoding=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"utf-8"&lt;/span&gt; ?&amp;gt;&lt;br /&gt;&amp;lt;root&amp;gt;&lt;br /&gt;    &amp;lt;leaf id=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"1"&lt;/span&gt;&amp;gt;Test&amp;lt;/leaf&amp;gt;&lt;br /&gt;    &amp;lt;leaf id=&lt;span style="color: #666666;background-color: #e4e4e4;font-family: Courier New;font-size: 14px;font-weight: normal;"&gt;"2"&lt;/span&gt;&amp;gt;Test2&amp;lt;/leaf&amp;gt;&lt;br /&gt;&amp;lt;/root&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;br&gt;&lt;br&gt;Also alles recht simpel.&lt;br&gt;Meine Frage: Wie kann ich bestimmen, dass NUR der innere Text bzw. NUR die Attribute angezeigt werden?&lt;br&gt;&lt;br&gt;BTW:&lt;br&gt;Ich versuche das hauptsächlich für ein Mobiles Endgerät zu schreiben (Windows Mobile). Da finde ich aber das DataMember für das GridView nicht! Weiß einer warum, bzw. kann man das noch anders festlegen?&lt;br&gt;&lt;br&gt;</description></item><item><title>iTextSharp - Problem mit einem html string</title><link>http://www.aspnetzone.de/forums/post/208312.aspx</link><pubDate>Fri, 13 Mar 2009 20:36:32 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:208312</guid><dc:creator>gnome</dc:creator><description>hi,&lt;br&gt;&lt;br&gt;ich hab ja schon ne ganze menge gesucht und gelesen nur fündig - ne :-/.&lt;br&gt;&lt;br&gt;also, ich benutze den FCKeditorV2 und möchte den wert (FCKeditor1.Value) als pdf speichern.&lt;br&gt;enthalten ist: html .... div .... &lt;br&gt;&lt;br&gt;das problem ist nun, ich bekomm iTextSharp einfach nicht dazu den wert vom editor zu nehmen.&lt;br&gt;&lt;br&gt;ich bekomm dann fehlermeldungen wie: &lt;span&gt;&lt;/span&gt;&lt;p&gt;&lt;i&gt;&lt;i&gt;The document has no pages. &lt;/i&gt;&lt;/i&gt;oder &lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;i&gt;Illegales Zeichen im Pfad.&lt;/i&gt;&lt;/i&gt;&lt;/p&gt; &lt;br&gt;als bsp hab ich die seiten verwendet:&lt;br&gt;&lt;br&gt;http://www.worldofasp.net/tut/GeneratePDF/Generate_pdf_from_html_with_Csharp_and_iTextSharp_265.aspx?print=true&lt;br&gt;&lt;br&gt;http://aspdotnetcodebook.blogspot.com/2008/07/how-to-export-content-of-gridview-to.html&lt;br&gt;&lt;br&gt;&lt;br&gt;wenn jemand ne idee hat bin ich echt dankbar - aber bitte keine antworten wie ... kost&amp;nbsp; nur 300 $&amp;nbsp; ;-)&lt;br&gt;</description></item><item><title>Visualisierung von Messwerten und Senden von Befehlen an eine Steuerung mittels Windows CE6.0 Webserver</title><link>http://www.aspnetzone.de/forums/post/207232.aspx</link><pubDate>Wed, 18 Feb 2009 15:42:11 GMT</pubDate><guid isPermaLink="false">ce930855-ae9b-4fa4-8077-06a76071cc6a:207232</guid><dc:creator>ChipFuttzy</dc:creator><description>Guten Tag Forum,&lt;br&gt;Folgende Ausgangssituation:&lt;br&gt;&lt;br&gt;Es soll ein Webinterface für eine Steuerung realisiert werden.&lt;br&gt;&lt;br&gt;Der Webserver basiert auf einem Embedded System mit Windows CE 6.0, welcher über eine UART-Schnittstelle (noch offen) mit einer Steuerung verbunden ist.&lt;br&gt;&lt;br&gt;Für die Visualisierung soll die Menüstrucktur der Steuerung auf dem Webinterface ab-/nachgebildet werden, &lt;br&gt;hierzu wird die Strucktur mittels XML-Daten auf den Webserver übertragen.&lt;br&gt;&lt;br&gt;An Hand dieser Daten wird eine Tabelle mit variabelem Zeilen-/Spaltenverhältnis aufgebaut und mit Daten, die über UART übertragen werden, von der Steuerung gefüllt.&lt;br&gt;&lt;br&gt;Meine Grundidee mittels Apache, PHP und CGI-Interface auf einem µLinux-Einplatinensystem wurde leider nicht angenommen. *sigh*&lt;br&gt;&lt;br&gt;Nun meine Fragen:&lt;br&gt;&lt;br&gt;1. Welche Möglichkeiten habe ich um auf die Hardware des Webservers / UART zuzugreifen ? &lt;br&gt;&amp;nbsp;&amp;nbsp; (Bei meiner ursprünglichen Idee eine CGI-Application die einen Datenstrom von der UART auswertet und die ensprechenden Values an das Webinterface liefert.)&lt;br&gt;&lt;br&gt;2. Ist es unter ASP möglich Messwertgrafiken zu erstellen ? &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (X/Y-Diagramme, Bargraphen und Zeigerskalen, hierfür gibts sehr ansprechende Libarays für PHP *sigh*)&lt;br&gt;&lt;br&gt;3. Ist das alles mit dem in WinCE integrierten Webserver möglich, oder werden noch zusätzliche Softwarekomponenten/Lizenzen benötigt ? (&lt;a href="http://www.microsoft.com/windowsembedded/en-us/products/windowsce/component-library.mspx"&gt;WinCE6.0 Ausstattung&lt;/a&gt;)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>