Zum Inhalt springen

JasonLief

Mitglieder
  • Gesamte Inhalte

    47
  • Benutzer seit

  • Letzter Besuch

Beiträge von JasonLief

  1. Hallo FFI-User

    Ich hab da ne Frage.

    Md5 gibt ja 5834684776451684684684684864646487 ......... Möglichkeiten.

    Was ja heisst, dass es irgendeinmal in der Unendlichkeit einen gleichen HashCode gibt bei 2 verschiedenen Eingabestrings.

    Wäre es möglich, so eine Tabelle zu generieren, welche z.B die Zahlen von 1-10000000000000000000000000000000000000000 hasht und diesen wert speichert.

    Hat man nun einen MD5 hashwert(beispielsweise Hund), welcher mit der Zahl 50000 übereinstimmt, wäre ja das Passwort Hund gleichzusezten mit dem 'Passwort' 50000.

    Ist dies wirklich so "einfach"?

    Thx für die Antworten

    LG

    JL

  2. Hallo FFI-Users

    Ich habe da ein "Problem" bzw. eine Bildungslücke.

    Ich habe noch nicht viel mit Joomla gemacht, und daher kapier ich das mit diesen Modulen, PlugIns und Extensions noch nicht...

    Folgendes Problem stellt sich mir:

    Ich habe eine Webseite - Joomla.

    Auf dieser Sollte nun der Administrator, eine Seite haben, wo er Kontaktdaten erfassen kann, welche direkt in die Datenbank gespeichert werden.

    Die eingetragenen Daten sollen später einfach als CSV ausgegeben werden und in Excel eingelesen werden können.

    Wie gehe ich am einfachsten vor?

    Was benötige ich?

    Liebe Grüsse und DAnke für die Infos

    JL

  3. run:

    Exception in thread "main" com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)

    at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:405)

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)

    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.scanQName(XMLEntityScanner.java:836)

    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:221)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)

    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)

    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)

    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)

    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)

    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:180)

    at javaapplication6.XPathExample.main(XPathExample.java:23)

    Java Result: 1

    BUILD SUCCESSFUL (total time: 0 seconds)

  4. Analog zu deinem Beispielcode hast du irgendwo eine Schleife, in der du die "Dinge" durchgehst. Mit XPath kannst du die alle Elemente als Liste geben lassen, die "Dinge" als Kindelemente besitzen.

    Ist die List komplett, dann kannst du sie wie bisher verwenden. (siehe posting von macrominds)

    Dies hier gibt mir eine Exception.

    Warum? :confused:

    package javaapplication6;
    
    
    import java.io.IOException;
    
    import java.sql.SQLException;
    
    import java.text.SimpleDateFormat;
    
    import java.util.Date;
    
    import java.util.List;
    
    import org.w3c.dom.*;
    
    import org.xml.sax.SAXException;
    
    import javax.xml.parsers.*;
    
    import javax.xml.xpath.*;
    
    import org.jdom.Element;
    
    
    public class XPathExample {
    
    
        public static void main(String[] args)
    
                throws ParserConfigurationException, SAXException,
    
                IOException, XPathExpressionException {
    
    
            DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
    
            domFactory.setNamespaceAware(true); // never forget this!
    
            DocumentBuilder builder = domFactory.newDocumentBuilder();
    
            Document doc = builder.parse("D:/Dinge.xml");
    
    
    
            XPathFactory factory = XPathFactory.newInstance();
    
            XPath xpath = factory.newXPath();
    
            XPathExpression expr = xpath.compile("//Dinge");
    
    
            Object result = expr.evaluate(doc, XPathConstants.NODESET);
    
    
            List<Element> nodes = (List<Element>) result;
    
            for(Element e : nodes){
    
                System.out.println("bla");
    
    //        for (int i = 0; i < nodes.size(); i++) {
    
    //
    
    //            System.out.println(nodes.get(i).getAttributeValue("DeliveryMessageType"));
    
    
                //Element ele = (Element) nodes.item(i);
    
    
            }
    
    
    
            }

  5. ui.. 1500 Zeilen dafür? Ok.

    Du kannst mit XPath den relevanten Knoten ("//Dinge") heraussuchen. Danach solltest Du auf diesem Knoten (Element) Deinen alten Parser weiterverwenden können.

    Nein nicht für das....

    Für ein Anderes File :)

    War ja nur ein Beispiel ;-)

  6. Kannst du uns den relevanten Teil deines Auszuges zeigen? Allgemein empfehle ich beispielsweise diese Lektüre: Java ist auch eine Insel – 13.6 XML-Dateien mit JDOM verarbeiten

    
    Element reel = paper.getChild("Reel");
    
    	Element reelConversion = reel.getChild("ReelConversionCharacteristics");
    
    		List<Element> reelInfo = reelConversion.getChildren();
    
    			for(Element reelE : reelInfo){
    
    				if(reelE.equals("ReelWidth")){
    
    					reelWidth = Float.valueOf(reelE.getChild("Value").getText());
    
    				}
    
    
    				if(reelE.equals("ReelDiameter")){
    
    					reelDiameter = Float.valueOf(reelE.getChild("Value").getText());
    
    				}
    
    
    				if(reelE.equals("ReelLength")){	
    
    					reelLength = Float.valueOf(reelE.getChild("Value").getText());
    
    				}
    
    
    			}
    
    

    Mit diesen 1500 Zeilen meine ich einfach, das ich das ganze File schon geparst habe mit JDOM, aber jetzt, da das XML -File ja zu einem Teil nicht gleich aufgebaut ist(am Anfang hats noch unnützliche Infos) das ich nicht alles neu machen müsste mit XPath

  7. Hallo FFI-Comunity

    Ich habe eine Frage resp. ein Problem.

    Ich habe ein XML geparst mit JDOM.

    Beispiel

    
    <Dinge>
    
         <Info>
    
              <Hersteller> Sony </Hersteller>
    
              <Erstelldatum> 15.03.1990 </Erstelldatum>
    
         </Info>
    
         <IT>
    
              <Hardware>
    
                   <HD>
    
                        <Name> Sony XYZ </Name>
    
                        <Kapazität> 1 TB </Kapazität>
    
                   </HD>
    
    
                   <HD>
    
                        <Name> Sony ABC </Name>
    
                        <Kapazität> 2 TB </Kapazität>
    
                   </HD>
    
    
              </Hardware>
    
         </IT>
    
    </Dinge>
    
    
    Nun habe ich alles mit JDOM geparst. Musste HD auslesen Dinge --> IT--> Hardware -->HD Jetzt kann es aber sein, das vor dem TAG <Dinge> noch weitere TAGS sind, die die ganzen den bisherigen block "umrahmen" BSP:
    
    <Lager>
    
    <Inventar>
    
    <Dinge>
    
         <Info>
    
              <Hersteller> Sony </Hersteller>
    
              <Erstelldatum> 15.03.1990 </Erstelldatum>
    
         </Info>
    
         <IT>
    
              <Hardware>
    
                   <HD>
    
                        <Name> Sony XYZ </Name>
    
                        <Kapazität> 1 TB </Kapazität>
    
                   </HD>
    
    
                   <HD>
    
                        <Name> Sony ABC </Name>
    
                        <Kapazität> 2 TB </Kapazität>
    
                   </HD>
    
    
              </Hardware>
    
         </IT>
    
    </Dinge>
    
    </Inventar>
    
    </Lager>
    
    

    jetzt sollte ich, egal ob jetzt noch hier im BSP(Lager/Inventar) drumrumsteht, sollte ich den alten Code verwenden können.

    Also das heisst, die Rohform ist wie im ersten CodeBlock.

    Diese habe ich schon. Nun kann es aber sein das mal ein anderes Format kommt(CodeBlock2) und mein Parser sollte auch dann funktionieren. Ein Arbeitskollege hat mir gesagt dies sollte mit XPath gehen. Da ich aber alles schon mit JDOM gelöst habe, will ich nicht noch alles umschreiben, da es ca. 1500 Zeilen Code sind...

    Kann mir jemand helfen oder Tipps geben? :)

    Danke

    Lg Jason "JL" Lief

  8. Ah okay, also wie schon gesagt, Du musst den Baum parsen und dafür gibt es unterschiedliche Möglichkeiten

    Das ist mir klar.

    Ich habe es etwas sehr ungenau formuliert...

    Ich kann nun

    
    Element party=doc.getRootElement();
    
    List<Element> gäste = party.getChildren("gast");
    
    for(Element schmuckstück : gäste){
    
    String schmuck = schmuckstück.getText();
    
    }

    bei: String schmuck....

    gibt es mir eine Nullpointer exception, obwohl ein wert eingetragen ist!

  9. Ich sehe hier nicht den Bezug zu Java.

    Du musst prüfen ob der Knoten vorhanden ist. Je nach Parser (Sax oder DOM) kannst Du die Knoten prüfen. Andere Möglichkeiten sind XSL, mit denen Du validieren kannst, ob ein Knoten existiert oder nicht, wobei eben damit schon bevor die XML einliest, geprüft werden kann, ob sie der Struktur entspricht. Weiteres wäre XQuery mit der Du direkt Knoten verarbeiten kannst

    Das ganze muss ich mit Java handlen :)

  10. Hi FFI-User

    Ich habe da ne Frage. Die Suche hat leider keine Ergebnisse hervorgebracht.

    Es geht darum das ich ein XML-File Parsen will. Die Struktur habe ich, jedoch kann es sein das ab und zu dieses Element nicht vorhanden ist.

    Struktur BEISPIEL:

    
    
    <Party>
    
    [INDENT]<Gast Name: Hans>[/INDENT]
    
    
    [INDENT][INDENT]<Getränk>Wasser</Getränk>[/INDENT]
    [/INDENT]
    
    [INDENT][INDENT]<Schmuck>Ohrring</Schmuck>[/INDENT]
    [/INDENT]
    
    [INDENT]</Gast>[/INDENT]
    
    
    [INDENT]<Gast Name: Uschi>[/INDENT]
    
    
    [INDENT][INDENT]<Getränk>Wasser</Getränk>[/INDENT]
    [/INDENT]
    
    [INDENT]</Gast>[/INDENT]
    
    
    </Party>
    
    
    
    
    

    In diesem Beispiel ist bei Hans Schmuck vorhanden, aber bei Uschi nicht.

    Wie kann ich nun auslesen, ob Schmuck vorhanden ist, oder eben nicht?!

    Danke für die Antworten!

    Liebe Grüsse

    JL

  11. Hallo FI-Users

    Ich habe ein Problem.

    Ich wollte ein Hangman Programmiere mit C# in ASP.NET

    Dann habe ich eine Lokale DB und ein Server, auf der DB sind die Wörter.

    Nun habe ich einen Service erstellt, welchen diese Daten "abholt".

    Jedoch bekomme ich immer ein Fehler:

    No current query in data reader

    Methode im Service

    
    [WebMethod]
    
            public String[] getRandomWord()
    
            {
    
                String currentWord = "";
    
    
                MySqlConnection connection = new MySqlConnection(myConnectionString);
    
                MySqlCommand command = connection.CreateCommand();
    
                command.CommandText = "SELECT COUNT(*) AS COUNT FROM hangman_woerter";
    
                MySqlDataReader Reader;
    
                connection.Open();
    
                Reader = command.ExecuteReader();
    
    
                if (Reader.HasRows)
    
                {
    
                    Reader.Read();
    
                    maxValue = Reader.GetInt32(Reader.GetOrdinal("COUNT"));
    
    
                }
    
                else
    
                {
    
                    maxValue = 10;
    
                }
    
                //Random zufall = new Random();
    
                //int randomID = zufall.Next(Reader);
    
                connection.Close();
    
                connection.Open();
    
    
                command.CommandText = "SELECT Wort FROM hangman_woerter";
    
                Reader = command.ExecuteReader();
    
    
                Random zufall = new Random();
    
                int randomID = zufall.Next(maxValue);
    
    
                if (Reader.HasRows)
    
                {
    
    
                    for (int i = 0; i < randomID; i++)
    
                    {
    
                        Reader.NextResult();
    
                    }
    
                    Reader.Read();
    
                    [COLOR="Red"]currentWord = Reader.GetString("Wort");[/COLOR]
    
    
                }
    
    
    
    
                String[] wortArray = new String[currentWord.Length];
    
    
                //wortArray = currentWord.Split();
    
                for (int i = 0; i < currentWord.Length; i++)
    
                {
    
                    wortArray[i] = currentWord.Substring(i, 1);
    
                }
    
                connection.Close();
    
                return wortArray;
    
    
            }
    
    

    Was machh ich falsch?

    Danke für Antworten

    Lg JL

  12. Was genau möchtest Du denn eigentlich machen? Es gibt keinen x-ten Eintrag in einer Tabelle. Dort ist alles kunterbunt gemischt. Ebenso gibt es keine fortlaufende Nummer. ROWNUM ist eine Pseudospalte, die von Oracle an eine zeile vergeben wird, wenn die WHERE Bedingung erfüllt ist.

    ROWID wiederum ist etwas völlig anderes und hat auch nichts mit der Reihenfolge zu tun.

    Dim

    Also ich muss eine Tabelle bereinigen mit z.B 2500 Datensätzen.

    Diese Tabelle darf/sollte aber aus verschiedenen Gründen nicht mehr als 2000 Datensätze haben. Jetzt brauche ich ja den 2000 Datensatz, damit ich nacher alles löschen kann, das älter ist(sehe ich anhand von einer Timestamp Spalte)

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...