1Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
271
271
EMPFEHLEN
-
05.12.10 14:47 #1
- Registriert seit
- May 2009
- Beiträge
- 54
Hallo,
ich versuche grade eine XML zu Laden, doch leider läuft bei dem Splitten irgendetwas schief, hier der Code:
Code :1 2 3 4 5 6 7 8 9 10
foreach (XmlNode node in nodes) { string[] strBreak = node.InnerText.Split(' '); tempPoint.X = float.Parse(Regex.Replace(strBreak[0] + " " + strBreak[1], " ", "")); tempPoint.Y = float.Parse(Regex.Replace(strBreak[2] + " " + strBreak[3], " ", "")); tempPoint.Z = float.Parse(Regex.Replace(strBreak[4] + " " + strBreak[5], " ", "")); List.Items.Add(tempPoint.ToString()); }
hier ein Beispiel der *.xml:
Code :1 2 3 4
<?xml version="1.0"?> <Profile> <point>5883.203 4780.205 -72.88606</point> </Profile>
ich hätte gern dies Angezeigt:
5883.203,4780.205,-72.88606Geändert von CrimeTime89 (05.12.10 um 15:17 Uhr)
-
Hi
Und wie äußert sich "läuft schief"?
Hast du dir das Array angeschaut, ob das Problem wirklich beim Split liegt? Was steht denn drin?Grüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
-
05.12.10 17:02 #3
- Registriert seit
- May 2009
- Beiträge
- 54
strBreak[0] = "5883.203"
strBreak[1] = "4780.205"
Sobald tempPoint.X ausgeführt wurde und ich Moveover das X gehe ist der Inhalt: 5.88320342E+13
dies ist das was "Schlief Läuft und dann bei und bei strBreak[3] wird das "catch" ausgelöst weil es nicht vorhanden ist, jedenfalls splittet er Falsch soviel ist fakt
-
Auch wenn ich mich nicht wirklich mit .NET befasse. Aber das Array sollte eigentlich nur 3 Felder haben, bei dir hat es aber 6.
-
05.12.10 21:52 #5
- Registriert seit
- May 2009
- Beiträge
- 54
stimmt schon, weil ich vorher eine andere *.xml geladen hatte wo ich das so machen musste.
hier der neue code:
Code :1 2 3 4
tempPoint.X = float.Parse(Regex.Replace(strBreak[0] + " ", "", "")); tempPoint.Y = float.Parse(Regex.Replace(strBreak[1] + " ", "", "")); tempPoint.Z = float.Parse(Regex.Replace(strBreak[2] + " ", "", ""));
inhalt der xml:
5883.203 4780.205 -72.88606
OutPut:
5883203, 4780205, -7288606
( es fehlen die Punkte)
-
Kannst du das Regex.Replace nicht auch rausnehmen? Ich kann den Nutzen davon irgendwie nicht erkennen.
Versuche einfach mal folgendes:
Code :1 2 3
tempPoint.X = float.Parse(strBreak[0], System.Globalization.CultureInfo.CreateSpecificCulture("en-us")); tempPoint.Y = float.Parse(strBreak[1], System.Globalization.CultureInfo.CreateSpecificCulture("en-us")); tempPoint.Z = float.Parse(strBreak[2], System.Globalization.CultureInfo.CreateSpecificCulture("en-us"));
-
05.12.10 22:23 #7
- Registriert seit
- May 2009
- Beiträge
- 54
Funktioniert, aber könntest du mir mal erklären was
Code :1 2
System.Globalization.CultureInfo.CreateSpecificCulture("en-us")
Bewirkt?
-
Hi
Damit wird eine CultureInfo-Instanz erzeugt. Darin stehen u.a. die Formatierungsinformationen für Zahlen.
Da eine Anwendung standardmäßig die Sprache des Systems nutzt ist das hier notwendigGrüße Nico
----------------------
Xing
----------------------
Zitat von Mark Twain (1835-1910)
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
Ähnliche Themen
-
Access: Fehler beim Laden einer dll
Von redwidow im Forum Office-AnwendungenAntworten: 16Letzter Beitrag: 29.12.10, 16:36 -
Problem beim Laden einer Tilemap aus einer Textdatei
Von TilemapFrage im Forum C/C++Antworten: 3Letzter Beitrag: 15.06.10, 18:44 -
JNI-Problem beim erneuten Laden einer dll
Von dapor im Forum JavaAntworten: 1Letzter Beitrag: 31.03.09, 22:05 -
JVM verabschiedet sich beim laden einer DLL
Von normaler_spinner im Forum JavaAntworten: 13Letzter Beitrag: 31.05.07, 23:59 -
Fehler beim Laden einer DLL
Von Juergen Hansen im Forum Microsoft WindowsAntworten: 0Letzter Beitrag: 26.02.07, 18:43





Zitieren

Login





