XML-tiedostojen käsittely on hyvin yleistä, koska niillä on laaja sovellus, joka sisältää tiedostomuodon Microsoft Office- ja Google-dokumenteissa, B2B-tiedonvaihdon jne. Sekä XmlDocument että XPathDocument ovat erilaisia tapoja tai pikemminkin nimiavaruuksia XML-tiedostojen käsittelyyn. Mutta niillä on erilainen lähestymistapa ja ne vaihtelevat myös ominaisuudesta riippuen. XmlDocumentin ja XPathDocumentin käyttö riippuu toimintojen määrästä, jotka käyttäjän on suoritettava tietyn XML-dokumentin kanssa.
XmlDocument vs XPathDocument
Ero XmlDocumentin ja XPathDocumentin välillä on, että XmlDocumentilla on sekä luku- että kirjoitusominaisuudet, kun taas XPathDocument voi lukea vain XML-muodossa olevia tiedostoja. Koska XPathDocumentissa ei ole kirjoitusominaisuuksia, se on kooltaan kevyempi, mutta siitä puuttuu XmlDocumentin joustavuus, koska jälkimmäisessä voidaan suorittaa enemmän toimintoja.
XmlDocument määritellään muistissa olevaksi luokkaksi, joka edustaa XML-asiakirjaa. Käyttäjät voivat käyttää tätä luokkaa useiden toimintojen, kuten XML:n lataamiseen, vahvistamiseen, lisäämiseen, muokkaamiseen ja sijoittamiseen dokumenttiin. XmlDocument toteuttaa W3C XML DOM (Document Object Model) -tason 1 ja tason 2 ytimen. XmlDocument mahdollistaa XML:n lataamisen DOM:iin, minkä jälkeen tehdään tarvittavat muutokset.
XPathDocument-luokka tarjoaa myös muistissa olevan esityksen XML-dokumentista, mutta toisin kuin XmlDocument, se ei salli kirjoituskykyä. XPathDocument tarjoaa vain luku -ominaisuuden käyttämällä XPath-tietomallia. XPathDocument koskee sekä.NET Corea että.NET Frameworkia.
Vertailutaulukko XmlDocumentin ja XPathDocumentin välillä
Vertailuparametrit | XmlDocument | XPathDocument |
Lähestyä | XmlDocumentissa on oliolähtöinen lähestymistapa. Tämä koostuu objektin luomisesta ja linkittämisestä tiettyyn tiedostoon. | XPathDocumentissa on datasuuntautunut lähestymistapa. |
Lukea kirjoittaa | XmlDocument voi suorittaa sekä luku- että kirjoitustoimintoja sekä lisätä uusia solmuja ja poistaa olemassa olevia solmuja. | XPathDocument voi suorittaa vain lukutoiminnon, eikä sillä ole mahdollisuutta muokata XML-asiakirjaa. |
Joustavuus | Koska XmlDocument voi suorittaa useita toimintoja, kuten lukea, kirjoittaa, poistaa, lisätä ja muokata attribuutteja, se on erittäin joustava. | XPathDocument ei ole yhtä joustava kuin XmlDocument, koska edellinen voi vain lukea XML-tiedostoja. |
Asiakirjan luominen | XmlDocument pystyy luomaan asiakirjan tyhjästä ja tekemään siihen muutoksia. | XPathDocument ei voi luoda asiakirjoja, joten käyttäjän tulee varmistaa tiedoston olemassaolo ennen sen käyttöä. |
Nopeus | XmlDocument ei ole suositeltava, kun suuria tiedostoja avataan vain lukemista varten, koska se hidastaa prosessia. | Yksinkertaisuudensa ansiosta XPathDocument voi avata ja lukea suuria tiedostoja nopeasti. |
Mikä on XmlDocument?
XML-dokumentin muistissa oleva esitys, joka voi lukea, kirjoittaa ja muokata tiedoston attribuutteja sekä XmlDocument-luokkaa. Koska se suorittaa niin monia toimintoja, XmlDocument on yleensä parempi kuin XpathDocument kaikissa yleisissä tapauksissa ja tarkoituksiin. Mutta XmlDocument hidastaa erittäin suurten tiedostojen avaamista, mikä on yksi sen haittapuoli.
Kun XML-tiedosto avataan DOM:iin, jos kyseinen tiedostosijainti, johon käyttäjä viittaa, on tyhjä, se luo uuden XML-tiedoston ja lataa sen. Tämä on yksi XmlDocumentin suurimmista eduista, että se voi luoda uuden tiedoston välittömästi ja tehdä siihen muutoksia.
XmlDocumentin avulla käyttäjä voi selata tiedoston eri solmuja. Se voi käyttää sekä ylä- että lapsisolmua ja voi myös navigoida eteen- ja taaksepäin sisarussolmujen välillä. XmlDocumentia käytettäessä XPath-kyselymerkkijonoa käytetään tiedon yhden tai useamman solmun etsimiseen.
Sen lisäksi, että XmlDocument löytää ja käyttää eri tasoisia solmuja, se voi myös lisätä tai muokata solmuja. Uusien solmujen lisäämiseen käytetään CreateElement- tai CreateNode-menetelmää ja poistamiseen RemoveChild-menetelmää. Solmujen paikkoja voidaan myös siirtää mukavuuden mukaan.
Mikä on XPathDocument?
XPathDocument-luokka on tunnettu vain luku -muistissa olevasta XML-tiedostojen esityksestä. Se on hyvin yksinkertainen luokka, eikä se suorita niin monia toimintoja tiedostoissa tai sen solmuissa. XPathDocument pystyy lukemaan suurempia tiedostoja erittäin nopeasti, joten kun käyttäjän tarvitsee lukea vain XML-tiedosto, XPathDocument on suositeltavampi kuin XmlDocument.
XPathDocumentille on useita rakentajia, joita käytetään eri tarkoituksiin. Esimerkiksi XPathDocument(Stream) käytetään tämän luokan uuden ilmentymän alustamiseen Stream-objektissa. Samoin XPathDocument(String) myös alustaa uuden ilmentymän XML-tiedoista, mutta ei erityisesti Stream-objektissa. Jotkut muut rakentajat ovat XPathDocument (TextReader), XPathDocument (XmlReader) jne.
XPathDocumentissa CreateNavigator()-menetelmää käytetään vain luku -tilassa olevan XPathNavigator-objektin alustamiseen. Tämä lukee kaikki XPathDocumentin olemassa olevat solmut. Tasaa (Object) -menetelmää käytetään tarkistamaan, onko määritetty objekti yhtä suuri kuin nykyinen objekti vai ei. XPathDocumentissa on myös muita menetelmiä, jotka parantavat jopa sen rajoitettuja toimintoja.
Tärkeimmät erot XmlDocumentin ja XPathDocumentin välillä
Johtopäätös
Sekä XmlDocument että XPathDocument ovat XML-tiedostojen muistissa olevia esityksiä. Kun XmlDocument valitaan, XML-dokumentin muokkaamiseen tarvitaan useita toimintoja. Vain luku -tarkoituksiin XPathDocument on suositeltava.
Käyttäessään XPathDocumentia käyttäjän on oltava valppaana ja annettava kelvollinen osoite XML-tiedostolle. Koska jos tiedostoa ei ole olemassa, XPathDocument ei voi luoda välitöntä tiedostolomaketta ja toteuttaa muutoksia.
Lisäksi, jos avataan XML-tiedosto vain lukemista varten, käyttäjän tulee käyttää XPathDocument-luokkaa. XPathDocument-luokka pystyy avaamaan suurempia tiedostoja erittäin nopeasti, mikä säästää aikaa, kun taas XmlDocument sopii kaikkiin muihin tarkoituksiin kuin erittäin suurten tiedostojen lukemiseen.