Logo pl.removalsclassifieds.com

Różnica między XmlDocument i XPathDocument (z tabelą)

Spisu treści:

Anonim

Obsługa plików XML jest bardzo powszechna, ponieważ mają szeroką aplikację, która obejmuje format plików w dokumentach Microsoft Office i Google, wymianę danych B2B itp. Zarówno XmlDocument, jak i XPathDocument to różne sposoby, a raczej przestrzenie nazw do obsługi plików XML. Ale mają inne podejście, a także różnią się w zależności od funkcji. Użycie XmlDocument i XPathDocument zależy od liczby funkcji, które użytkownik musi wykonać z konkretnym dokumentem XML.

XmlDocument a XPathDocument

Różnica między XmlDocument i XPathDocument polega na tym, że XmlDocument ma zarówno możliwości odczytu, jak i zapisu, podczas gdy XPathDocument może odczytywać tylko pliki w formacie XML. Ponieważ XPathDocument nie ma żadnych możliwości pisania, jest lżejszy, ale brakuje mu elastyczności XmlDocument, ponieważ w tym drugim można wykonać więcej funkcji.

XmlDocument jest zdefiniowana jako klasa w pamięci, która reprezentuje dokument XML. Użytkownicy mogą używać tej klasy do wykonywania kilku funkcji, takich jak ładowanie, sprawdzanie poprawności, dodawanie, edytowanie i pozycjonowanie XML w dokumencie. XmlDocument implementuje W3C XML DOM (Document Object Model) Level 1 i Level 2 Core. XmlDocument umożliwia załadowanie XML do DOM, a następnie wprowadzenie niezbędnych modyfikacji.

Klasa XPathDocument zapewnia również reprezentację dokumentu XML w pamięci, ale w przeciwieństwie do XmlDocument nie pozwala na żadne możliwości pisania. XPathDocument zapewnia funkcję tylko do odczytu przy użyciu modelu danych XPath. XPathDocument dotyczy zarówno platformy.NET Core, jak i.NET Framework.

Tabela porównawcza między XmlDocument i XPathDocument

Parametry porównania

Dokument Xml

XPathDokument

Zbliżać się XmlDocument ma podejście obiektowe. Polega to na tworzeniu i łączeniu obiektu z określonym plikiem. XPathDocument ma podejście zorientowane na dane.
Odczyt/zapis XmlDocument może wykonywać zarówno funkcje odczytu, jak i zapisu, a także dodawanie nowych węzłów i usuwanie istniejących węzłów. XPathDocument może wykonywać tylko funkcję odczytu i nie ma opcji modyfikowania dokumentu XML.
Elastyczność Ponieważ XmlDocument może wykonywać kilka funkcji, takich jak odczyt, zapis, usuwanie, dodawanie i modyfikowanie atrybutów, jest bardzo elastyczny. XPathDocument nie jest tak elastyczny jak XmlDocument, ponieważ ten pierwszy może odczytywać tylko pliki XML.
Tworzenie dokumentów XmlDocument jest w stanie stworzyć dokument od podstaw, a następnie wprowadzić w nim zmiany. XPathDocument nie może tworzyć dokumentów, więc użytkownik powinien upewnić się, że plik istnieje przed uzyskaniem do niego dostępu.
Prędkość XmlDocument nie jest preferowany, gdy duże pliki są otwierane tylko do odczytu, ponieważ spowalnia proces. Ze względu na swoją prostotę XPathDocument może szybko otwierać i czytać duże pliki.

Co to jest dokument Xml?

Reprezentacja w pamięci dokumentu XML, która może odczytywać, zapisywać i modyfikować atrybuty pliku, a także klasę XmlDocument. Ponieważ wykonuje tak wiele funkcji, ogólnie XmlDocument jest preferowany w stosunku do XpathDocument dla wszystkich ogólnych wystąpień i celów. Jednak XmlDocument spowalnia proces otwierania bardzo dużych plików, co jest jedną z jego wad.

Podczas otwierania pliku XML w DOM, jeśli ta konkretna lokalizacja pliku, do której odnosi się użytkownik, jest pusta, generuje nowy XML i ładuje go. Jest to jedna z największych zalet XmlDocument, która umożliwia natychmiastowe tworzenie nowego pliku i wprowadzanie w nim zmian.

XmlDocument umożliwia użytkownikowi nawigację po różnych węzłach pliku. Może uzyskać dostęp zarówno do węzła nadrzędnego, jak i podrzędnego, a także może nawigować do przodu i do tyłu między węzłami rodzeństwa. Podczas korzystania z XmlDocument ciąg zapytania XPath jest używany do znajdowania jednego lub wielu węzłów danych.

Oprócz znajdowania i uzyskiwania dostępu do różnych węzłów z różnych poziomów, XmlDocument może również dodawać lub edytować węzły. Do dodawania nowych węzłów wykorzystywana jest metoda CreateElement lub CreateNode, a do usuwania metoda RemoveChild. Pozycje węzłów można również przesuwać według wygody.

Co to jest dokument XPath?

Klasa XPathDocument jest dobrze znana z reprezentacji plików XML w pamięci tylko do odczytu. Jest to bardzo prosta klasa i nie wykonuje tak wielu funkcji na plikach ani ich węzłach. XPathDocument może bardzo szybko odczytywać większe pliki, dlatego gdy użytkownik potrzebuje tylko odczytać plik XML, XPathDocument jest preferowany w stosunku do XmlDocument.

Istnieje kilka konstruktorów dla XPathDocument używanych do różnych celów. Na przykład XPathDocument(Stream) służy do inicjowania nowego wystąpienia tej klasy w obiekcie Stream. Podobnie XPathDocument(String) również inicjuje nowe wystąpienie z danych XML, ale nie konkretnie w obiekcie Stream. Niektóre inne konstruktory to XPathDocument(TextReader), XPathDocument(XmlReader) itp.

W XPathDocument metoda CreateNavigator() służy do inicjowania obiektu XPathNavigator tylko do odczytu. To odczytuje wszystkie istniejące węzły w XPathDocument. Metoda equals (Object) służy do sprawdzania, czy określony obiekt jest równy bieżącemu obiektowi, czy nie. Istnieją również inne metody w XPathDocument, które poprawiają nawet jego ograniczone funkcje.

Główne różnice między XmlDocument a XPathDocument

Wniosek

Zarówno XmlDocument, jak i XPathDocument są reprezentacjami plików XML w pamięci. Po wybraniu XmlDocument oznacza to, że do zmodyfikowania dokumentu XML jest wymaganych kilka funkcji. Do celów tylko do odczytu preferowany jest XPathDocument.

Korzystając z XPathDocument użytkownik musi zachować czujność i podać poprawny adres dla pliku XML. Ponieważ jeśli plik nie istnieje, XPathDocument nie może utworzyć natychmiastowego pliku formularzy, zarysowania i wprowadzenia zmian.

Ponadto, jeśli otwiera się plik XML tylko do odczytu, użytkownik powinien użyć klasy XPathDocument. Klasa XPathDocument jest w stanie bardzo szybko otwierać większe pliki, co oszczędza czas, podczas gdy XmlDocument nadaje się do wszystkich innych celów poza odczytywaniem bardzo dużych plików.

Bibliografia

Różnica między XmlDocument i XPathDocument (z tabelą)