2012-02-01 42 views
89

Tôi rất mới với C#. Tôi có tệp XML (text.xml). Tôi muốn đọc điều đó trong XmlDocument và lưu trữ luồng trong biến chuỗi.Đọc tệp XML vào XmlDocument

+0

cảm ơn sự giúp đỡ của bạn. – AJP

Trả lời

142

Sử dụng phương thức XmlDocument.Load() để tải XML từ tệp của bạn. Sau đó, sử dụng thuộc tính XmlDocument.InnerXml để nhận chuỗi XML.

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

giải pháp tuyệt vời – Nirman

+1

'XmlDocument' không chứa định nghĩa cho' Tải'. –

+2

nó: http://msdn.microsoft.com/en-us/library/875kz807(v=vs.110).aspx –

3

Hy vọng bạn không nhớ Xml.Linq và .net3.5 +

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

Tùy thuộc vào những gì bạn đang quan tâm, bạn có thể có thể bỏ qua toàn bộ 'string' var phần và chỉ sử dụng XLinq đối tượng

14

Nếu phiên bản .NET của bạn mới hơn 3.0, bạn có thể thử sử dụng System.Xml.Linq.XDocument thay vì XmlDocument. Xử lý dữ liệu dễ dàng hơn với XDocument.

+0

cảm ơn sự giúp đỡ của bạn. – AJP

+0

Và đây là cách tải một tệp bằng cách sử dụng XDocument: http://stackoverflow.com/questions/670563/linq-to-read-xml –

1
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
XmlDocument doc=new XmlDocument(); 
Doc.Loadxml(@"c:\abc.xml"); 
+0

Lưu ý câu hỏi cũng yêu cầu lưu trữ nội dung XML vào một chuỗi. – mins

+0

'XmlDocument.LoadXml()' tải một chuỗi XML. Để tải một tệp XML theo tên, hãy sử dụng 'XmlDocument.Load()' làm câu trả lời được chấp nhận. –

Các vấn đề liên quan