XML dosyasını XmlDocument'e okuyun


103

C # konusunda çok yeniyim. XML dosyam var (text.xml). Bunu içinde okumak XmlDocumentve akışı string değişkeninde saklamak istiyorum .


1
yardımlarınız için ikinize de teşekkür ederim.
AJP

Yanıtlar:


169

XmlDocument.Load()Dosyanızdan XML yüklemek için yöntemi kullanın . Ardından XmlDocument.InnerXmlXML dizesini almak için özelliği kullanın.

XmlDocument doc = new XmlDocument();
doc.Load("path to your file");
string xmlcontents = doc.InnerXml;

2
XmlDocumentiçin bir tanım içermiyor Load.
Matt Clark

Hiçbiri işe yaramadığı için bunların hepsini reddettim. Görünüşe göre, WindowsRT için geliştirme yapıyorum ve Compact .NET Framework bu özelliklerin çoğuna sahip değil. İhtiyaç duyduğum birçok şey dahil ... XmlDocument.Load()ve ve StreamReader kurucusu gibiStreamReader(filePath)
Matt Clark

11
@MattClark: Acını hissediyorum - İki yıldır KF'nin değişkenleri ve sınırlamaları ile mücadele ediyorum - ama bu olumsuz oy kullanmak için bir sebep değil. OP, CF'yi belirtmedi ve bu nedenle, yanıt verenlerin CF'yi dikkate almaları için hiçbir neden yok.
B. Clay Shannon


6

Umarım Xml.Linq ve .net3.5'e aldırış etmezsiniz +

XElement ele = XElement.Load("text.xml");
String aXmlString = ele.toString(SaveOptions.DisableFormatting);

İlgilendiğiniz şeye bağlı olarak, muhtemelen tüm 'string' var bölümünü atlayabilir ve sadece XLinq nesnelerini kullanabilirsiniz.


6
XmlDocument doc = new XmlDocument();
   doc.Load("MonFichierXML.xml");

    XmlNode node = doc.SelectSingleNode("Magasin");

    XmlNodeList prop = node.SelectNodes("Items");

    foreach (XmlNode item in prop)
    {
        items Temp = new items();
        Temp.AssignInfo(item);
        lstitems.Add(Temp);
    }

1
var doc = new XmlDocument(); 
doc.Loadxml(@"c:\abc.xml");

Sorunun ayrıca XML içeriğinin bir dizede saklanmasını gerektirdiğini unutmayın.
dakika

XmlDocument.LoadXml()bir XML dizesi yükler. Bir XML dosyasını ada göre yüklemek için XmlDocument.Load(), kabul edilen yanıtın önerdiği şekilde kullanın.
François Beaune
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.