Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Δυναμική Δημιουργία XML αρχείου.

Îåêßíçóå áðü ôï ìÝëïò pontifikas. Τελευταία δημοσίευση από το μέλος anjelinio στις 21-06-2005, 19:37. Υπάρχουν 11 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  15-06-2005, 14:32 2827

    Δυναμική Δημιουργία XML αρχείου.

    Κατ'αρχήν χαίρεται Big Smile μιας και είναι το 1ο μου Post.
    Σίγουρα είναι πιο απλό από ότι ακούγεται στον τίτλο αλλά αν δεν ξέρεις XML.....
    Και δεν την έχεις χρησιμοποιήσει με .net.....[:^)]

    Εν πάσει περίπτωση, φτοιάχνω ένα προγραμματάκι που σε πρώτη εκτέλεση θα δημιουργεί ένα project(Create new project).
    Θέλω να δημιουργώ ένα XML αρχείο που να αποθηκεύω παραμέτρους για το project(για αυτό δεν χρησιμεύει η XML[^o)]), ώστε όταν πάω να το ανοίξω(Open Existing Project) να πηγαίνει και να φορτώνει τις παραμέτρους αυτές.

    Πώς μπορώ να πώ:Βάλε στο αρχείο XML την παράμετρο "image" και δώσε της τιμή
    "file.jpg"? Και να δημιουργηθεί αυτό(κάπως έτσι νομίζω ότι είναι Embarrassed ):

    <image>
    <path>c:\file.jpg</path>
    </image>
  •  15-06-2005, 16:42 2833 σε απάντηση της 2827

    Re: Δυναμική Δημιουργία XML αρχείου.

    Πρέπει το αρχείο σου να έχει σαν πρώτη γραμμή την:
    <?xml version="1.0" encoding="UTF-8"?>

    Από κεί και κάτω είναι σωστό.

    Άρης

    ΥΓ. Πολύ καλό εργαλείο για XML είναι το XMLspy της Altova. To Home Edition είναι δωρεάν και μιά καλή αρχή. Download εδώ.



    Aris
  •  15-06-2005, 20:36 2846 σε απάντηση της 2833

    Re: Δυναμική Δημιουργία XML αρχείου.

    Θεωρώ, αν και δεν κατάλαβα τα γυρω-γυρω από τη δυναμική δημιουργία, οτι χρειάζεται μια λεπτομερής επεξήγηση. Να με συγχωρήσεις αν ήδη γνωρίζεις κάποια πράγματα, τα παίρνω από την αρχή για να καλύψω ο,τι τυχόν δεν είναι ήδη γνωστό:


    Για να δημιουργήσεις δυναμικά ένα xml document (το οποίο μετά μπορείς με διάφορους τρόπους να αποθηκεύσεις ή απλά να κρατήσεις στη μνήμη για να κάνεις "παιχνίδι" στο runtime), χρειάζεται να γνωρίζεις δύο πράγματα πριν από όλα:

    1. Το prolog (ειναι η γραμμή που σου ανέφερε ο Aris παραπάνω)
    2. Το document Element (ειναι το πρώτο node το οποίο "αγκαλιάζει" όλα τα υπόλοιπα).

    Στην περίπτωση αυτού που έγραψες στο αρχικό μήνυμα, μπορούμε να υποθέσουμε οτι το document Element είναι το <image> ελλείψει άλλου. Εγώ προτιμώ να βάζω κάτι πιό γενικό όπως το <rt></rt>, οπου μέσα εκεί βάζω ό,τι άλλο θέλω από nodes.

    Τωρα, κάθε node (και φυσικά και το Document Element το οποίο και αυτό είναι node - μην ξεχνάμε οτι ουσιαστικά το xml είναι μια ιεραρχία από nodes), μπορεί να έχει value και attributes.

    Π.χ. ενα απλό xml document είναι κάπως έτσι:
    <?xml version="1.0" encoding="utf-8"?>
    <rt>
       <anode someattribute="somevalue">some text</anode>
       <anothernode>
          <asubnode></asubnode>
       </anothernode>
    </rt>

    Τώρα που τα είδαμε αυτά, να πάμε λίγο πιό λεπτομερώς και να δούμε πως μπορούμε να δημιουργούμε δυναμικά ένα xml document. Εφτιαξα μια μικρή class η οποία δεν είναι τίποτα σπουδαίο, θέλει πολύ μεγάλωμα, αλλά σαν prototype παίζει και την παραθέτω παρακάτω:


     

    Imports System.Xml

     

    Public Class DynXml

     

        'Οριζουμε μια private μεταβλητή που θα κρατάει το document μας.

        Private m_objXml As XmlDocument

     

        'Χρειάζεται να εξηγήσω τι κάνει; Smile

        Public ReadOnly Property Xml() As XmlDocument

            Get

                Return (m_objXml)

            End Get

        End Property

     

     

        Public Sub New()

     

            'Φτιάξε ένα άδειο XML Document. Οταν λέμε "αδειο", εννοούμε

            'prolog και root element (ή αλλιώς document element)

     

            m_objXml = CreateEmptyXmlDocument()

     

        End Sub

     

        'Προσθέτουμε ένα node. Αν δεν έχουμε βάλει τη δεύτερη παράμετρο,

        'το node προστίθεται στο document element. Αλλιώς, προστίθεται στο node

        'που του έχουμε πει εμείς.

        Public Function AddNode(ByVal nodeName As String, _

            Optional ByVal node As XmlNode = Nothing) As XmlNode

     

            'Αυτό είναι το node που θα προσθέσουμε. Προσεξε οτι για τη δημιουργία του

            'υπεύθυνο είναι το xmlDocument που λειτουργεί ως factory για τέτοιου είδους πράγματα

            '(nodes, attributes) και όχι εμείς (δεν χρησιμοποιούμε πουθενα constructor)

            Dim objNdToAppend As XmlNode

     

            'Δινουμε όνομα κατά τη δημιουργία (από τις παραμέτρους της function)

            'Γιατί το τρίτο argument είναι empty string; Ειναι το namespace, αλλα θα πρότεινα

            'να μην τα θίξουμε σε αυτό το στάδιο.

            objNdToAppend = m_objXml.CreateNode(XmlNodeType.Element, nodeName, "")

     

            'Αν δεν πήραμε node, τότε θα προσθέσουμε στο document element.

            'Κανουμε μια μικρή μαγκίτσα εδώ.

            If node Is Nothing Then

                node = m_objXml.DocumentElement

            End If

     

            Try

     

                'Τοσο απλό. Απλά προσθέτεις ένα "παιδί" σε ένα υπάρχον node και βουαλά.

                Return (node.AppendChild(objNdToAppend))

     

            Catch ex As Exception

                'TODO: Δικό σου error handling

     

            End Try

     

        End Function

     

        'Προσθέτουμε ένα attribute σε ένα ήδη υπάρχον node.

        'Τα attributes έχουν δύο μέρη: Ονομα και τιμή. Χρειαζόμαστε βέβαια και το node στο οποίο θα το προσθέσουμε.

        Public Function AddAttribute(ByVal attrName As String, ByVal attrValue As String, ByVal node As XmlNode) As XmlAttribute

     

            'Αυτό είναι το attribute που θα προσθέσουμε. Βλεπεις οτι και πάλι υπεύθυνο για τη

            'δημιουργία του είναι το ίδιο το xml document object.

            Dim objAttrToAdd As XmlAttribute

     

            'Δινουμε όνομα κατά τη δημιουργία (από τις παραμέτρους της function)

            objAttrToAdd = m_objXml.CreateAttribute(attrName)

     

            'Δίνουμε τιμή (απο τις παραμέτρους της function)

            objAttrToAdd.Value = attrValue

     

            Try

     

                Return (node.Attributes.Append(objAttrToAdd))

            Catch ex As Exception

                'TODO: Δικό σου error handling

            End Try

     

        End Function

     

        'Αααα, πονηριά! Αντί να το φτιάχνουμε κάθε φορά φτιάξαμε μια function

        'γιατί είμαστε τεμπελχανάδες!

        Private Function CreateEmptyXmlDocument() As XmlDocument

     

            Dim objXml As XmlDocument

            objXml = New XmlDocument

     

            Try

                'Η LoadXml φορτώνει από string, η Load από αρχείο.

                'Αφού το θέλουμε δυναμικά, το φτιάχνουμε δυναμικά! Θα μπορούσαμε όμως να είχαμε και ένα

                '"Αδειο" document σε ένα αρχείο και να το φορτώσουμε από εκεί.

                objXml.LoadXml("<?xml version=" + Chr(34) + "1.0" + Chr(34) + " encoding=" + Chr(34) + "UTF-8" + Chr(34) + "?><rt></rt>")

     

                'Το γυρνάμε πίσω και όλα ωραία.

                Return (objXml)

     

            Catch ex As Exception

                'TODO: Βαλε εδώ ο,τι error handling θέλεις, αν θέλεις.

            End Try

     

        End Function

    End Class

     


     


    "Ωραία", θα μου πεις, "και τι το κάνω εγώ αυτό τώρα";

    Η απάντηση: Φτιάξε ενα project που να έχει μια φορμίτσα με ένα κουμπί. Βαλε στο onclick event του κουμπιού τον εξής κώδικα:


    Dim c As DynXml

            c = New DynXml

            Dim objSampleNode1 As XmlNode

            objSampleNode1 = c.AddNode("SampleNode")

            Dim objSampleNode2 As XmlNode

            objSampleNode2 = c.AddNode("SampleNode2")

     

            Dim objSampleSubNode1 As XmlNode

            objSampleSubNode1 = c.AddNode("SampleSubNode1", objSampleNode2)

     

            c.AddAttribute("Somename", "somevalue", objSampleSubNode1)

     

            MsgBox(c.Xml.OuterXml.ToString)

     


     

    Και τρέχτο! Αν όλα πάνε καλά θα δείς το xml σου στο messagebox (λιγο αχαρο αλλά θα ήταν too much τώρα να βάζω textboxes και τέτοια)

    Το θέμα XML σηκώνει πολύ κουβέντα...ελπίζω όμως να έβαλα ένα λιθαράκι παραπάνω στο να κατανοήσεις πως κατασκευάζεται ένα xml document αυτής της μορφής. Δεν σε κάλυψα στο θέμα του value των ίδιων των nodes, αλλά πιστεύω οτι με λίγο ψάξιμο θα τα βρείς. Αν χρειαστείς κάτι συγκεκριμένο, εδώ είμαστε!


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  16-06-2005, 08:54 2848 σε απάντηση της 2827

    Re: Δυναμική Δημιουργία XML αρχείου.

    Φίλε cap ευχαριστώ για τον χρόνο σου.

    Αν και δεν είχα χρόνο ακόμα να ασχοληθώ, διάβασα τον κώδικά σου και υπάρχει κάτι που θέλω να ρωτήσω και δεν το καταλαβα ακόμα και στο MSDN που το έψαξα.

    Η loadxml τί κάνει ακριβώς? Γράφει στο xmldocument ένα (εικονικό?) αρχείο XML και του εισάγει αυτό που έχουμε ώς παράμετρο(γιατί σε ένα παράδειγμα στο MSDN είδα αυτό:
    LoadXml("<item><name>wrench</name></item>");
    ) οπότε υπέθεσα ότι έγραψε κάπου στο xmldocument το node που έχει ώς όρισμα.

    Ή μήπως φορτώνει από ένα υπάρχον αρχείο xml το "parent node" που του λέμε εμείς και μετά μπορούμε να διαχειριστούμε τα παιδιά του?


  •  16-06-2005, 10:37 2856 σε απάντηση της 2848

    Re: Δυναμική Δημιουργία XML αρχείου.

    Προφανώς το είδες σε αυτή εδώ τη σελίδα (το αναφέρω σε περίπτωση που και κάποιος άλλος συνάδελφος θέλει να το κοιτάξει).

    Αχ...δεν νομίζω οτι είναι καλό παράδειγμα αυτό που δίνει το MSDN. Το δοκίμασα και εγώ. Βασικά δεν φορτώνει το prolog (xml version = μπλαμπλα encoding=μπλαμπλα). Αυτό σημαίνει οτι μετά θα έχεις προβλήματα σε διάφορα πραγματάκια (Ελληνικά, XSD validation, XSLT transformations).

    Βασικά φορτώνει (οχι από υπάρχον αρχείο, αλλά από ένα string οπως δείχνει και το παράδειγμα) ένα ή περισσότερα nodes. Στην περίπτωση του παραδείγματος, ως root node (ή document element) λογίζεται το <item>. Δεν το έγραψε όμως "κάπου" στο xmlDocument, ΑΥΤΟ είναι το xmlDocument (το string που του πέρασε). Κατά την άποψή μου είναι λάθος να έχεις κάτι που να λέγεται xmlDocument και να μην εχει prolog, οπως φαίνεται να κάνει το παράδειγμα του MSDN. Ισως το κάνουν για να απλοποιήσουν τα πράγματα.




    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  16-06-2005, 16:51 2872 σε απάντηση της 2856

    Re: Δυναμική Δημιουργία XML αρχείου.

    Λοιπόν.. η γνώμη μου είναι να δημιουργήσεις ένα Record που θες με την παρακάτω Function

    Public Function NewRecord(ByVal elem As XmlElement, ByVal _Values() As String) As XmlElement

            elem.SetAttribute("FieldName1", _Values(0))

            elem.SetAttribute("FieldName1", _Values(1))

            elem.SetAttribute("FieldName3", _Values(2))

            'κλπ όσα Fields χρειάζονται...
           
    Return elem
    End Function


    Με τον παραπάνω τρόπο δημιουργείς ένα node με τα στοιχεία που θες...

    όμως για να δουλέψει αυτό θα πρέπει να καλέσουμε την function από κάπου...

    (Ας το ξεκινήσω όπως οι Μαθηματικοί) ΑΣ ΥΠΟΘΕΣΟΥΜΕ οτι έχουμε μια ρουτινα που καλεί την NewRecord()

    Public Function CreateXml() As XmlDocument

            'Δημιουργία του XML Document 
           
    Dim result As New XmlDocument

            'to Header του XML
           
    Dim xmlDecl As XmlDeclaration = result.CreateXmlDeclaration("1.0", "ISO-8859-7", "yes")

            'Δημιουργία του αρχικού node με την ονομασία Records
           
    Dim root As XmlElement

            root = result.CreateElement("Records")


            'Δημιουργία του child node με την ονομασία OneRecord
           
    Dim elem As XmlElement = result.CreateElement("OneRecord")

            
            'Κάποιες τιμές...
            _Values(0) = "A"
            _Values(1) = "B"
            _Values(2) = "C"

            'Εισαγωγή του Child node στο root 
           
    root.AppendChild(NewRecord(elem, _Values()))


            'Εισαγωγή του root node στο XML document
           
    result.AppendChild(root)

            result.InsertBefore(xmlDecl, result.DocumentElement)

            Return result

        End Function


    Το result θα επιστρέψει ένα XML και μπορείς να το κάνεις ότι θες... 
    ή σαν XML ή σαν string (CreateXml.OuterXml)

    Το αποτέλεσμα του παραπάνω κώδικα... είναι

    <?xml version="1.0" encoding="ISO-8859-7" standalone="yes"?>
       <Records>
          <OneRecord FieldName1="A" FieldName1="B" FieldName1="C"/>
       </Records>


    Παναγιώτης Λαβίδας
    Software Developer
  •  18-06-2005, 12:14 2920 σε απάντηση της 2827

    Re: Δυναμική Δημιουργία XML αρχείου.

    Παιδιά ευχαριστώ.
    Η λύση του famfara μου φάνηκε ποιο κατανοητή και κοντά σε αυτό που θέλω.

    Τελικά ορίστε η συναρτησή  μου(Εγώ γράφω σε C# Wink)

    public static void createXMLDocument(string fileName)
    {
    XmlDocument xmldoc = new XmlDocument();
    XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "iso8859-7", "yes");
    XmlElement root = xmldoc.CreateElement("root");
    XmlElement test = xmldoc.CreateElement("test");

    xmldoc.AppendChild(xmldecl);
    xmldoc.InsertAfter(root, xmldecl);
    root.AppendChild(test);

    // Save the document to a file and auto-indent the output.
    XmlTextWriter writer = new XmlTextWriter("C:\\"+fileName, null);
    writer.Formatting = Formatting.Indented;
    xmldoc.Save(writer);
    }

     


    Που παράγει ένα αρχείο στο C: με το όνομα που εμείς εισάγαμε, το οποίο περιέχει
    <?xml version="1.0" standalone="yes" ?>
    <root>
             <test />
    </root>

    Και πάλι ευχαριστώ.Πλέον τα υπόλοιπα θα τα βρώ μόνος μου πιστεύω. Η αρχή ήταν να γίνει Big Smile

    EDIT:Μάλλον κατι δεν κάνω καλά γιατί ο κώδικάς μου στο post δεν πήρε σωστό formatting[^o)][*-)]
  •  18-06-2005, 12:29 2921 σε απάντηση της 2920

    Re: Δυναμική Δημιουργία XML αρχείου.

    Σωστός ο Παναγιώτης (famfaras)! Ειδικά με το CreateXmlDeclaration...εγώ μάλλον είμαι πιό...παλαιών αρχών Smile αφού οχι απλά δεν το χρησιμοποιούσα ποτέ για να φτιάξω το prolog, αγνοούσα επιδεικτικά και την ύπαρξή του!

    Pontificas, ο editor έχει κάποια προβληματάκια με το rendering του κώδικα...δυστυχώς. Προσωπικά αυτό που κάνω είναι copy-paste τον κώδικά μου στο Word και από εκεί copy-paste στον editor και ψιλοβγαίνει καλά.

    Οσο για το xml, η δική μου λύση ήταν λίγο πιό....object-οειδής και ενδεχομένως σου δημιούργησε σύγχυση μια και το XML κομμάτι ήταν αρκετά καινούριο για σένα. Υπόσχομαι να γίνω πιό ξεκάθαρος σε επόμενα posts Smile





    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  19-06-2005, 14:49 2927 σε απάντηση της 2827

    Re: Δυναμική Δημιουργία XML αρχείου.

    Καλά υπάρχει ακόμα πολύ ψωμί στην Υπόθεση:
    "XML manipulation with .NET"
    Πάντως παραθέτω το Link στο MSDN για όποιον ενδοιαφέρεται αφού εκεί θα βρεί ακριβώς αυτό που ζητώ σε αυτό το thread.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconXMLDocumentObjectModelDOM.asp
  •  21-06-2005, 13:08 2951 σε απάντηση της 2927

    Lightning [li] Re: Δυναμική Δημιουργία XML αρχείου.

    Καλημέρα παιδία, πρώτο μου post  στα forum, νέο μέλος κι όλα αυτά οπότε .. δείξτε κατανόηση ! Smile

    Λοιπόν, διαβάζοντας τη συζήτηση, έχω να κάνω μόνο 2 σχόλια:

    1. Δε νομίζω οτι είναι η καλύτερη επιλογή να χρησιμοποιείς το DOM API που σου παρέχει  το framework, αν δεν είναι απολύτως απαραίτητο, για λόγους performance κυρίως, αλλά και γιατί ...
    2. Υπάρχει πιο εύκολος τρόπος, και λέγεται Xml Serialization.

    Χρησιμοποιώντας το Xml Serialization, μπορείς να φτιάξεις μια κλάσση που αντιστοιχεί στο configuration του project σου, και να αναλαμβάνει το σύστημα (to framework) να την κάνει xml και αντίστροφα. Εσύ το μόνο που έχεις να κάνεις είναι να βάλεις κάποια attributes ( toy styl [XmlElement("MyNodeName")] ) στα fields ή properties της κλάσσης σου.

    Επίσης είναι πιο γρήγορο γιατί δε χρησιμοποιεί DOM, και - πιστέψτε με  - πολύ πιο εύκολο και γρήγορο.

    Τώρα, ίσως φανά κάγκουρος, υπερόπτης ή whatever, αλλά έχω αρχίσει να γράφω κάποια blog entries στο site μου επι του θέματος, με απλά παραδείγματα και source code attached. Όποιος θέλει, ας ρίξει μια ματιά στο http://www.anjelinio.com , στη σειρά XmlSerialization ... Φυσικά, οποιοδήποτε σχόλιο είναι πολύτιμο γιατί εκτός απο ψώνιο ... ελπίζω οτι μαθαίνω απ'τα σχόλια συναδέλφων Big Smile

    Άντε, καλή αρχή μου (λέμε τώρα .. )
    Angel

    Angel
    O:]
  •  21-06-2005, 13:29 2952 σε απάντηση της 2951

    Re: Δυναμική Δημιουργία XML αρχείου.

    Καλώς ήρθες, πρώτα από όλα, και καλή αρχή!

    Δεν έχεις καθόλου άδικο σε όσα αναφέρεις, αν και δεν το εξετάζω από την πλευρά της ταχύτητας (ειλικρινά δεν γνωρίζω αν το xml serialization είναι ταχύτερο από τη δημιουργία xml documents με χρήση DOM), αλλά από την πλευρά της λειτουργικότητας.

    Οταν έχεις μια κλάση και θέλεις να αναπαραστήσεις το state της σε ένα xml αρχείο, τότε το xml serialization είναι ο καλύτερος (κατά τη γνώμη μου) δυνατός τρόπος να το κάνεις. Γλυτώνεις πολύ φασαρία και μπορείς να ξαναδώσεις το state της κλάσης άμεσα με deserialization. Αρκετές φορές το έχω κάνει σε configuration classes και εγώ.

    Το DOM, πιστεύω, είναι ιδανικό για καταστάσεις που ΔΕΝ υπάρχει κάποια κλάση. Δηλαδή, θέλουμε, για δικούς του λόγους ο καθένας, να δημιουργήσουμε δυναμικά ένα xml document που δεν αναπαριστά το state μιας ή περισσοτέρων κλάσεων, αλλα η πηγή των πληροφοριών του είναι άλλη ή άλλες. Χαρακτηριστικά, αρκετά παλιότερα είχα φτιάξει ένα τέτοιο πραγματάκι που έκανε dump πληροφορίες για exceptions που είχαν συμβεί στο σύστημα μαζί με πληροφορίες που αφορούσαν την συγκεκριμένη εφαρμογή ώστε μετά να μπορούν να παρουσιαστούν όμορφα χρησιμοποιώντας xslt transformations. Εκεί, αναγκαστικά πήγαινα με DOM.




    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  21-06-2005, 19:37 2981 σε απάντηση της 2952

    Re: Δυναμική Δημιουργία XML αρχείου.

    Η βασική μου ένσταση κατά του DOM είναι οτι απλώς τρώει πολλά resources - κάθε node είναι ένα αντικείμενο, το οποίο πρέπει να δημιουργηθεί, αρχικοποιηθεί, και μετά τρώει μνήμη ώσπου να γίνει garbage collected -,  και είναι πιο αργό απο τη SAX-like approach ενός XmlTextReader/Writer.

    Οπότε, ο μόνος λόγος που δικαιολογεί - κατα τη γνώμη μου πάντα - τη χρήση DOM, είναι όταν είναι απαραίτητο να "επεξεργαστείς" κάπως την XML σου, να χρησιμοποιήσεις XPath ( που κι αυτό βέβαια, με κάτι XPathNavigators κάνει πάλι την ίδια δουλειά χωρίς DOM ... ), ή τελικά ... να κάνεις τη δουλειά σου (γράφεις κώδικα) πιο απλά.

    Η εμπειρία μου (και η καμμένη γούνα μου) προέρχεται απ'τη μεριά της Java, όπου καλέστηκα να γυρίζω XML απο ένα Web Service, ως αποτέλεσμα μιας κάποιας διαδικασίας (δίναμε live feeds για σκορ απ'όλον τον κόσμο). Η πρώτη μου υλοποιήση ήταν με DOM (JDOM), και, αν και δούλευε, κάποια στιγμή το load του server ανταγωνιζόταν μόνο η κατανάλωσή της RAM του Big Smile

    Μια σχετικά εύκολη αλλαγή σε SAX, έφερε το server στην ευτυχή κατάσταση του να μην είναι ποτέ πάνω απ'το 70% utilisation, και έριξε το response time σημαντικά.

    Τα παραπάνω φυσικά δεν αναιρούν τα προηγούμενα posts. Το DOM είναι ένα θεικό API, όταν το χρησιμοποιείς εκεί που πρέπει ... όπως έλεγε και ο παλαιο-rock βάρδος "είναι γλυκιά, πολύ γλυκιά, μα είναι στενά τα περιθώριά της" Smile

    Angel
    O:]
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems