JasonLief
-
Gesamte Inhalte
47 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Beiträge von JasonLief
-
-
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
-
und diesen dann abändere?
-
kann ich sonst auch ein plugIn abändern, um den DAtenbank eintrag zu erfassen?
D.H ein Formular PlugIn anpassen und dies nacher so in mein Joomla einbinden?
-
Und wie erstelle ich so ein Wrapper?
Wrapper ist ja ein Modul, das Joomla schon standartmässig dabei hat oder?
Kann ich da einen eigenen PHP Code ranhängen und ihn dann beispielsweise beim Submit-Button des Formulars ausführen?
-
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
-
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)
-
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); } }
-
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 ;-)
-
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
-
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
-
Soweit ich mich jetzt erinnere wird der Inhalt eines Knotens wieder als Knoten gesehen
Aber ich mache doch ein getText();
...
-
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!
-
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
-
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
-
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
-
ja danach ist es klar aber danke
-
mit Limit oder Top?
oder wie meinst du das?
-
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)
-
nein gibts leider nicht =(
ich vrwende eine test tabelle nd habe davon das initialisierungsscript, also keine angst um die daten
-
es gibt noch ein problem, ich muss nacher ein delete machen, und mache ich das delete mit dem select, fuktioniert das nicht, denn aus einer view kann man nicht löschen:
also mit:
delete from (select Rownum AS nr, s.* from (select t.* from OVERFLOW_TEST t order by TABELLE ) s ) where nr < 50
ist nichts :-/
-
es funktioniert eigtl super, jedoch müsste die Tabelle zuerst geordnet werden, bevor das Rownum die Zeilen "beschriftet"
-
werde es versuchen
Danke
-
Hi,
das wird nicht gehen, weil ...
Ask Tom: On ROWNUM and Limiting Results
Du wirst das auch nicht ohne PL/SQL lösen können, oder du nummerierst die Datensätze im Vorfeld.
wie geht es den im PL/SQL? Die datensätze kann ich schlecht nummerieren, da die Tabelle vom Kunden vorgeschrieben wird.
-
okay, danke ich werde es mal testen.
Gebe dir dann ein Feedback
Sicherheit MD5 Hash - Tabelle
in Security
Geschrieben
ein salt?