<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>XML / XSLT</title><link>https://www.dotnetzone.gr:443/cs/forums/15/ShowForum.aspx</link><description>Η XML και τα παρελκόμενά της (XSD, XSLT, XPath, XQuery, κ.λ.π.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: validate, parse xml</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55333.aspx</link><pubDate>Fri, 20 Nov 2009 18:04:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55333</guid><dc:creator>giannaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55333.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=15&amp;PostID=55333</wfw:commentRss><description>Καλημέρα και ευχαριστώ για τις απαντήσεις.Οκ μέχρι εδώ αυτές τις κλάσεις χρησιμοποιώ για validate.Το πρόβλημα μου είναι πως αν είναι valid το Xml πρέπει να το διαβάσω όλο και να πάρω κάποια αυτούσια κομμάτια του.Μήπως έτσι κάνω 2 φορές την ίδια διαδικασία και καταναλώνω μνήμη και χρόνο?Δηλαδή διαβάζεται μία φορά το xml για validate και άλλη μία από εμένα.Σκέφτομαι μήπως θα ήταν πιο αποδοτικό να διαβάζω το xml(πχ με xmltextreader) και ταυτόχρονα να ελέγχω αν ειναι valid και να πέρνω και τα πεδία που θέλω.&lt;br&gt;&lt;br&gt;Για το κομμάτι του wcf μάλλον δεν έγινα αρκετά κατανοητός (ή δεν τα κατάλαβα εγώ).Το xml θέλω να το στέλνω αυτούσιο χωρίς να το πειράξω δηλαδή δεν θέλω datacontracts που να αντιστοιχούν στο xsd αλλά απλά να στέλνω το xml. Και το έχω δοκιμάσει με δύο τρόπους: μία να το στέλνω ως string και δεύτερον να έχω ένα datacontract όπου μέσα θα περιέχει το xml.Αλλά και πάλι δεν ξέρω ποιο είναι ποιο σωστό? &lt;br&gt;&lt;br&gt;Ευχαριστώ και πάλι&lt;br&gt;</description></item><item><title>Απ: validate, parse xml</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55311.aspx</link><pubDate>Fri, 20 Nov 2009 06:18:24 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55311</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55311.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=15&amp;PostID=55311</wfw:commentRss><description>&lt;P&gt;Η καλύτερη πηγή για τέτοιες ερωτήσεις είναι το ίδιο το documentation. Αν κοιτάξεις την ενότητα &lt;A href="http://msdn.microsoft.com/en-us/library/hdf992b8.aspx"&gt;Validating XML Data with XmlReader&lt;/A&gt;&amp;nbsp;θα δεις ότι το validation γίνεται από την κλάση XmlReader σε συνδυασμό με τα XmlReaderSettings και μπορείς να χρησιμοποιήσεις DTD ή XSD schema, inline (δηλαδή μέσα στο xml σου) ή εξωτερικό. Αν χρησιμοποιείς συχνά ένα schema μπορείς να το κρατήσεις στη μνήμη με την κλάση XmlSchemaSet αντί να το φορτώνεις κάθε φορά από ένα αρχείο ή URL.&lt;/P&gt;
&lt;P&gt;Όσον αφορά το WCF τώρα, γιατί δεν χρησιμοποιείς ένα data contract και να αφήσεις το WCF το ίδιο να αναλάβει το validation? Μπορείς μάλιστα να χρησιμοποιήσεις το svcutil.exe για να δημιουργήσεις client κώδικα ο οποίος θα περιλαμβάνει τα &lt;A href="http://msdn.microsoft.com/en-us/library/system.runtime.serialization.datacontractattribute.aspx"&gt;datacontracts&lt;/A&gt; που αντιστοιχούν στο xsd σου. Κοίτα την παράγραφο "XML Schema Documents and the SvcUtil Tool" για περισσότερες λεπτομέρειες&lt;/P&gt;</description></item><item><title>Απ: validate, parse xml</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55302.aspx</link><pubDate>Fri, 20 Nov 2009 02:11:13 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55302</guid><dc:creator>nikolaosk</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55302.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=15&amp;PostID=55302</wfw:commentRss><description>&lt;br&gt;Ότι είναι obsolete από το 2.0 μπορείς να το δεις και επίσημα από εδώ&lt;br&gt;&lt;br&gt;&amp;nbsp;http://msdn.microsoft.com/en-us/library/system.xml.xmlvalidatingreader.aspx&lt;br&gt;&lt;br&gt;οπότε έχεις δίκιο.&lt;br&gt;&lt;br&gt;αντί της XmlValidatingReader πρέπει να χρησιμοποιήσεις την &lt;a href="http://msdn.microsoft.com/en-us/library/9khb6435.aspx"&gt;XMLReader&lt;/a&gt; κλάσση και την Create method&lt;br&gt;&lt;br&gt;δες και αυτό το &lt;a href="http://asp.dotnetheaven.com/howto/doc/Xml/XmlDocumentValidation.aspx"&gt;παράδειγμα&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>validate, parse xml</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/55300.aspx</link><pubDate>Fri, 20 Nov 2009 00:50:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:55300</guid><dc:creator>giannaros</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/55300.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=15&amp;PostID=55300</wfw:commentRss><description>Καλησπέρα&lt;br&gt;θέλω να αναπτύξω μία εφαρμογή σε c# όπου θα διαβάζει ένα xml αρχείο και αν είναι έγκυρο με βάση ένα xsd τότε θα πρέπει να δημιουργώ ένα δεύτερο xml αρχείο που θα περιέχει κάποια πεδία του πρώτου.Σχετικά με το validate από όσο έχω ψάξει χρησιμοποιούνται κυρίως 2 κλάσεις: η&amp;nbsp; XmlValidatingReader και η XmlReaderSettings. Αποφάσισα να χρησιμοποιήσω τη δεύτερη καθώς διάβαζα ότι από το .net 2 και μετά δεν χρησιμοποιείται η XmlValidatingReader.Ισχύει αυτό?Επίσης από την στιγμή που ούτως ή αλλως θα χρειαστεί να κάνω parse το xml αν είναι έγκυρο προκειμένου να πάρω κάποια από τα πεδία του μήπως είναι τζάμπα χρόνος οπότε είναι προτιμότερο να το κάνω validate με δικό μου κώδικα? &lt;br&gt;Τέλος κάτι σχετικά άκυρο με την ενότητα που δημοσιεύω το post αλλα για να μην ανοίγω άλλο.Το xml αυτό θα μεταφέρεται μέσω wcf.Είναι καλύτερο να το στέλνω ως xml ή ως string?&lt;br&gt;Ευχαριστώ πάρα πολύ για οποιαδήποτε απάντηση.&lt;br&gt;</description></item></channel></rss>