Baca file XML ke XmlDocument

103

Saya sangat baru mengenal C #. Saya memiliki file XML (text.xml). Saya ingin membacanya XmlDocumentdan menyimpan aliran dalam variabel string.

AJP
sumber
1
terima kasih atas bantuannya.
AJP

Jawaban:

169

Gunakan XmlDocument.Load()metode untuk memuat XML dari file Anda. Kemudian gunakan XmlDocument.InnerXmlproperti untuk mendapatkan string XML.

XmlDocument doc = new XmlDocument();
doc.Load("path to your file");
string xmlcontents = doc.InnerXml;
Timur Sadykov
sumber
2
XmlDocumenttidak mengandung definisi untuk Load.
Matt Clark
Saya tidak menyukai semua ini karena tidak ada yang berhasil. Ternyata, saya sedang mengembangkan untuk WindowsRT, dan Compact .NET Framework memiliki banyak fitur yang dihilangkan. Termasuk banyak yang saya butuhkan ... Seperti XmlDocument.Load()dan dan konstruktor StreamReaderStreamReader(filePath)
Matt Clark
11
@MattClark: Saya merasakan sakit Anda - saya telah berjuang dengan keanehan dan keterbatasan CF selama dua tahun sekarang - tapi itu bukan alasan untuk tidak memilih. OP tidak menentukan CF, jadi tidak ada alasan penjawab mempertimbangkan CF.
B. Clay Shannon
17

Jika versi NET Anda lebih baru dari 3,0 Anda dapat mencoba menggunakan System.Xml.Linq.XDocumentbukan XmlDocument. Lebih mudah memproses data dengan XDocument.

Pupper
sumber
3
Dan inilah cara memuat file menggunakan XDocument: stackoverflow.com/questions/670563/linq-to-read-xml
Brian Leeming
6

Harap Anda tidak keberatan Xml.Linq dan .net3.5 +

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

Bergantung pada apa yang Anda minati, Anda mungkin dapat melewati seluruh bagian 'string' var dan hanya menggunakan objek XLinq

Abdul Hfuda
sumber
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);
    }
pengguna3626085
sumber
1
var doc = new XmlDocument(); 
doc.Loadxml(@"c:\abc.xml");
Penjualan Juliano
sumber
Perhatikan pertanyaan itu juga membutuhkan untuk menyimpan konten XML ke dalam sebuah string.
menit
XmlDocument.LoadXml()memuat string XML. Untuk memuat file XML berdasarkan nama, gunakan XmlDocument.Load()sebagai jawaban yang diterima menyarankan.
François Beaune