Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Ich habe die Arten von Arbeiten als ATTLIST für das Element Arbeiten angelegt. Damit hat es der Validierer geschluckt.
<!ELEMENT Art EMPTY>
<!ATTLIST Art
Art CDATA #REQUIRED>
...
<Art Art = "Bachelorarbeit">
</Art>
<!ELEMENT Leistungsnachweise (Kurs, (LNNote | Punkte), Gesamtpunkte, Datum, AnzahlVersuche)>
...
<Kurs>31221</Kurs>
<LNNote>2.7</LNNote>
<Gesamtpunkte>70</Gesamtpunkte>
<Datum>21.08.2010</Datum>
<AnzahlVersuche>1</AnzahlVersuche>
<Kurs>31011</Kurs>
<LNNote>1.7</LNNote>
<Gesamtpunkte>86</Gesamtpunkte>
<Datum>25.03.2010</Datum>
<AnzahlVersuche>1</AnzahlVersuche>
Hat sich schon jemand an die Programmieraufgaben herangewagt ?
Habe ein Problem mit der 3.5, insbesondere mit dem Hinzufügen eines neuen Leistungsnachweises ...
Mit welcher Methode mache ich das ? Schätze mal, ich sollte das mit "CreateElement" machen, aber dies lässt das Visual Studio aus mir nicht erkennbaren Gründen zu ....
Hat vielleicht jemand eine Idee ?
class Program
{
static void Main(string[] args)
{
string path2file = @"C:\EA3.1.xml";
XmlTextReader reader = new XmlTextReader(path2file);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("<" + reader.Name + ">");
break;
case XmlNodeType.Text:
Console.WriteLine(" " + reader.Value);
break;
case XmlNodeType.EndElement:
Console.WriteLine("</" + reader.Name + ">\n");
break;
}
}
Console.ReadLine();
}
}
<Leistungsnachweis>
<Kurs>31221>....
</Leistungsnachweis>
<Leistungsnachweis>
<Kurs>31081>....
</Leistungsnachweis>
[FONT=Courier New]XmlDocument Datei = new XmlDocument();
Datei.Load("../../Studentendaten.xml");
XmlNode Wurzel = Datei.DocumentElement;
...
string[] new_value;
string Suche;
XmlNode Position;
Suche = "Leistungsnachweise";
Position = Positionierung(Wurzel, Suche);
new_value = new string[Position.ChildNodes.Count];
// Neues Element anlegen
XmlElement Neues_Element = Datei.CreateElement(Suche);
// Werte zuweisen
for (int i = 0; i < Position.ChildNodes.Count; i++)
{
Console.Write("Neuer Wert für " + Position.ChildNodes[i].Name +" : ");
new_value[i] = Console.ReadLine();
Neues_Element.AppendChild(Datei.CreateElement(Position.ChildNodes[i].Name));
Neues_Element.ChildNodes[i].InnerText = new_value[i];
}
Wurzel.InsertAfter(Neues_Element, Position);
Nein, das stand nirgends. Inhalte des Moduls "Einführung in die OO Programmierung" werden vorausgesetzt, aber darin ging es ja nur um Java.Stand eigentlich irgendwo iun den Modulbeschreibungen, das es sich hier um einen C# Modul handelt?
Hallo zusammen,
bei mir meckert er in der ersten Zeile:
Errors in the XML document:
1:15The value following "version" in the XML declaration must be a quoted string.
<?xml version=“1.0“ encoding=“iso-8859-1“ standalone=“yes“?>
Kann mir das jemand erklären? Google spuckt leider auch nichts hilfreiches aus...
Gemäß Beschreibung haben die unterschiedlichen Rollen auch unterschiedliche Attribute, das hast du bei Privat- und Geschäftskunden nicht umgesetzt.hallo zusammen,
ich hoffe, dass es passt!
lg😀
Hallo Iris, ob die sich ausschließen (müssen), kommt auf die weitere Gestaltung an. Auch wenn ich Stammkunde bin, kann ich zusätzlich Interessent sein, wenn ich einen weiteren Auftrag erteilen möchte. Dann hätte ich zwei Rollen. Außer, "Interessent" heißt "Interessent aber noch kein Kunde"... Alles eine Sache des Designs. Lässt sich für diese Aufgabe nicht beurteilen, da fehlen noch Informationen.Müssen sich die Rollen eigentlich ausschließen, sodass man einen Kunden immer nur in genau eine Rolle "stecken" kann? Macht ja eigentlich Sinn, bin an Eurer Meinung interessiert.
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace Student35
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"U:\Student.xml");
XmlNode root = doc.DocumentElement;
//Baumstruktur ausgeben
GetNodes(root, 0);
Console.WriteLine();
Console.WriteLine("**************");
//Leistungsnachweise suchen
XmlNodeList elemList = doc.DocumentElement.GetElementsByTagName("Leistungsnachweise");
// Resultate anzeigen
for (int i = 0; i < elemList.Count; i++)
{
Console.WriteLine(elemList[i].InnerXml);
Console.WriteLine();
}
Console.WriteLine("**************");
//Neuen Leistungsnachweis hinzufügen
XmlNode kurs, kurs_inhalt, note, note_inhalt, gespunkte, gespunkte_inhalt, datum, datum_inhalt, versuche, versuche_inhalt;
XmlNode ln = doc.CreateElement("Leistungsnachweise");
//neues Element
kurs = doc.CreateElement("Kurs");
//an übergeordneten Knoten anhängen
ln.AppendChild(kurs);
//neuer Inhalt
kurs_inhalt = doc.CreateTextNode("1010");
//an neues Element anhängen
kurs.AppendChild(kurs_inhalt);
note = doc.CreateElement("LNNote");
ln.AppendChild(note);
note_inhalt = doc.CreateTextNode("2.0");
note.AppendChild(note_inhalt);
gespunkte = doc.CreateElement("Gesamtpunkte");
ln.AppendChild(gespunkte);
gespunkte_inhalt = doc.CreateTextNode("80");
gespunkte.AppendChild(gespunkte_inhalt);
datum = doc.CreateElement("Datum");
ln.AppendChild(datum);
datum_inhalt = doc.CreateTextNode("17.04.2010");
datum.AppendChild(datum_inhalt);
versuche = doc.CreateElement("AnzahlVersuche");
ln.AppendChild(versuche);
versuche_inhalt = doc.CreateTextNode("1");
versuche.AppendChild(versuche_inhalt);
root.InsertAfter(ln, ln.PreviousSibling);
//ausgeben
for (int i = 0; i < elemList.Count; i++)
{
Console.WriteLine(elemList[i].InnerXml);
Console.WriteLine();
}
Console.ReadLine();
//Kontonummer ändern
}
static void GetNodes(XmlNode node, int level)
{
switch (node.NodeType)
{
// prüfen, ob es sich um ein Element handelt
case XmlNodeType.Element:
Console.Write(new string(' ', level * 2));
Console.Write("<{0}", node.Name);
// prüfen, ob das aktuelle Element Attribute hat
if (node.Attributes != null)
{
foreach (XmlAttribute attr in node.Attributes)
Console.Write(" {0}='{1}'", attr.Name, attr.Value);
}
Console.Write(">");
// prüfen, ob das aktuelle Element untergeordnete
// Elemente hat
if (node.HasChildNodes)
foreach (XmlNode child in node.ChildNodes)
{
if (child.NodeType != XmlNodeType.Text)
Console.WriteLine();
GetNodes(child, level + 1);
}
break;
// prüfen, ob es sich um auswertbare Daten handelt
case XmlNodeType.Text:
Console.Write(node.Value);
break;
}
}
}
}
//Kontonummer ändern
// Referenz auf das zu ändernde Element besorgen
XmlNode abwInhaber = root.SelectSingleNode("//Student[Matrikelnummer='7817266']/Kontodaten/abwKontoinhaber");
XmlNode kontonr = root.SelectSingleNode("//Student[Matrikelnummer='7817266']/Kontodaten/Kontonummer");
XmlNode blz = root.SelectSingleNode("//Student[Matrikelnummer='7817266']/Kontodaten/BLZ");
//wenn vorhanden, dann ändern
if (abwInhaber != null)
{
XmlNode nodeabwInhaber = abwInhaber.FirstChild;
//Daten ändern
nodeabwInhaber.Value = "Iris Heinz";
}
if (kontonr != null)
{
XmlNode nodekontonr = kontonr.FirstChild;
//Daten ändern
nodekontonr.Value = "123456789";
}
if (blz != null)
{
XmlNode nodeblz = blz.FirstChild;
//Daten ändern
nodeblz.Value = "51050015";
}
//sonst Meldung ausgeben
else
{
Console.WriteLine("Die angegebene Matrikelnummer existiert nicht.");
Console.ReadLine();
}
//Geänderte Daten ausgeben
XmlNode kontodaten = abwInhaber.ParentNode;
GetNodes(kontodaten, 0);
Console.WriteLine();
Console.WriteLine("**************");
Console.WriteLine();
Halo,
alles im ganzen, ist es meiner Meinung nach der schlechteste Kurs den ich bis heute hatte.
Hab die EA1 zurück erhaten, mit 52 Punkten, aber was für arogante Antworten kamen , ich hätte die Aufgaben besser lesen sollen usw.
EA2 und EA3 habe ich bis dato keien Antwort weder auf Email oder per Post.
Ich habe versucht die Kurseinheiten zu lesen, mein Gott, ich weis nicht wie ihr die empfindet aber ich peile null. Und die entsprechende EA für die einzelenen Hefte ist ja wohl ein Witz !
Ich hab OOP gut lösen können, aber was die hier wollen, keine Ahnung. Sollen die doch einfach mal C# vernüftig erläutern, von Anfang an. Aber die 2 Wochen Rhytmen für die Bearbeitung der Hefte kann man doch vergessen.
Ich habe mir heute die EA 4 angeguckt und überlege ernsthaft den Kurs für dieses Semester abzusagen. ich weis noch nicht mal wie ich bei der EA4 anfangen soll. genau so ging es mir bei der EA3 ohne die Infos im Forum wüßte ich garnicht was zu machen ist. Mitlerweile Peile ich eine XML anzulegen etc. Evtl auch das abrufen aber selber so was zu erstellen, NE ! Ich kenne die Befehle für das bearbeiten von XML Dokumenten nicht und weis auch nicht wie ich die so schnell peilen soll, gerade wo es für mich eine neue Programmiersprache ist. Ich habe bereits ein Buch über Einführung C# gelesen, dadrin geht es aber immer wieder um z.b. Rechenaufgaben und Ausgaben von texten usw. aber nicht um XML Aufrufe und Remotesachen aus der EA4. Zum Kotzen alles.
Ich hab aktuell Urlaub aber 0% lust diesen Quatsch zu lesen. Wie steht ihr zu diesem Kurs, kan man sich dadrübe rirgendwo beschwären ?
//Node hinzufügen
position = xmldoc.SelectSingleNode("./Studentenverwaltung/Student/Leistungsnachweis");
position.ParentNode.InsertAfter(neueLeistung, position);
Also was die Korrektur angeht, so kann ich das nicht bestätigen. Bei mir war die Korrektur völlig in Ordnung. Was den Rest angeht muss ich die allerdings zustimmen. Der Text im Skript ist künstlich formalisiert und dadurch sehr unverständlich. Von den Fehlern im Text mal abgesehen. Es werden viele Themen angerissen, aber alle sehr oberflächlich angefrühstückt. Gleichzeitig soll man am Ende alles beherrschen. Hinzu kommt natürlich (bei mir persönlich), dass ich mir inhaltlich auch etwas anderes vorgestellt habe. Ich finde die gesamte Thematik total uninteressant. Das macht es natürlich nicht leichter. Alles sehr abstrakt und weit weg von dem, was man später wirklich gebrauchen kann bei der Arbeit. Insofern stimme ich dem zu, dass auch ich keine Lust habe, diesen "Quatsch" zu lesen... 😉
Grüße
Fresh