Megosztás a következőn keresztül:


XML-adatok olvasása az XPathDocument és az XmlDocument használatával

Az XML-dokumentumok kétféleképpen olvashatók a System.Xml.XPath névtérben. Az egyik egy XML-dokumentum olvasása a csak XPathDocument olvasható osztály használatával, a másik pedig egy XML-dokumentum beolvasása a System.Xml névtér szerkeszthető XmlDocument osztályával.

XML-dokumentumok olvasása az XPathDocument osztály használatával

Az XPathDocument osztály egy XML-dokumentum gyors, írásvédett, memórián belüli ábrázolását biztosítja az XPath-adatmodell használatával. Az osztály példányai a XPathDocument hat konstruktor egyikével jönnek létre. Ezek a konstruktorok lehetővé teszik egy XML-dokumentum olvasását egy Stream, TextReadervagy XmlReader objektum használatával, valamint egy string XML-fájl elérési útját.

Az alábbi példa az XPathDocument osztály konstruktorának string használatával szemlélteti egy XML-dokumentum olvasását.

Dim document As XPathDocument = New XPathDocument("books.xml")  
XPathDocument document = new XPathDocument("books.xml");  

XML-dokumentumok olvasása az XmlDocument osztály használatával

Az XmlDocument osztály a W3C-dokumentumobjektum-modellt (DOM) 1. szintű mag- és core DOM 2. szintű implementáló XML-dokumentum szerkeszthető memóriabeli ábrázolása. Az osztály példányai a XmlDocument három konstruktor egyikével jönnek létre. Új, üres XmlDocument objektumot úgy hozhat létre, hogy paraméterek nélkül hívja meg az XmlDocument osztálykonstruktort. A konstruktor meghívása után a metódussal betöltheti az Load XML-adatokat egy Stream, TextReadervagy XmlReader objektum új XmlDocument objektumába, valamint egy string XML-fájl elérési útját.

Az alábbi példa az XmlDocument osztálykonstruktor paraméter nélküli használatát és egy XML-dokumentum olvasási Load módját mutatja be.

Dim document As XmlDocument = New XmlDocument()  
document.Load("books.xml")  
XmlDocument document = new XmlDocument();  
document.Load("books.xml");  

XML-dokumentum kódolásának meghatározása

Az XmlReader objektumok felhasználhatók XML-dokumentumok olvasására, valamint az előző szakaszokban látható létrehozásra és XmlDocument objektumok létrehozásáraXPathDocument. Előfordulhat azonban, hogy egy XmlReader objektum nem kódolt adatokat olvas be, ezért nem ad meg kódolási információkat.

Az XmlTextReader osztály örökli az XmlReader osztályt, kódolási információkat biztosít a tulajdonságával Encoding , és felhasználható objektum XPathDocument vagy XmlDocument objektum létrehozására.

Az osztály által XmlTextReader biztosított kódolási információkról az osztály referenciadokumentációjában található tulajdonságban XmlTextReader talál Encoding további információt.

XPathNavigator-objektumok létrehozása

Miután beolvasott egy XML-dokumentumot egy vagy XmlDocument egy XPathDocument objektumba, létrehozhat egy XPathNavigator objektumot a mögöttes XML-adatok kiválasztásához, kiértékeléséhez, navigálásához és bizonyos esetekben szerkesztéséhez.

Az osztály mellett az XPathDocument osztályok és XmlDocument az osztályok is implementálják a IXPathNavigableSystem.Xml.XPath névtér felületétXmlNode. Ennek eredményeképpen mindhárom osztály megad egy metódust CreateNavigator , amely egy objektumot XPathNavigator ad vissza.

XML-dokumentumok szerkesztése az XPathNavigator osztály használatával

Az XML-adatok kiválasztásán, kiértékelésén és navigálásán kívül az XPathNavigator osztály bizonyos esetekben az azt létrehozó objektum alapján is szerkesztheti az XML-dokumentumokat.

Az XPathDocument osztály írásvédett, miközben az XmlDocument osztály szerkeszthető, ezért az objektumból XPathDocument létrehozott objektumok nem használhatók XML-dokumentumok szerkesztésére, XPathNavigator míg az objektumból XmlDocument létrehozott objektumok nem szerkeszthetők. Az XPathDocument osztály csak XML-dokumentum olvasására használható. Olyan esetekben, amikor XML-dokumentumot kell szerkesztenie, vagy hozzá kell férnie az osztály által biztosított további funkciókhoz, például az XmlDocument eseménykezeléshez, az XmlDocument osztályt kell használni.

Az CanEdit osztály tulajdonsága XPathNavigator határozza meg, hogy egy XPathNavigator objektum szerkesztheti-e az XML-adatokat.

Az alábbi táblázat az egyes osztályok tulajdonságának CanEdit értékét ismerteti.

IXPathNavigable Végrehajtása CanEdit Érték
XPathDocument false
XmlDocument true

Lásd még