2013-04-09 46 views
13

Làm cách nào để chúng tôi có thể viết một tệp XML thành một biến chuỗi? Đây là mã tôi có, nội dung biến có nghĩa vụ phải trả lại một chuỗi XML:Chuyển đổi tệp XML thành loại chuỗi

public string GetValues2() 
    { 
     string content = ""; 
     XmlTextWriter textWriter = new XmlTextWriter(content, null); 
     textWriter.WriteStartElement("Student"); 
     textWriter.WriteStartElement("r", "RECORD", "urn:record"); 
     textWriter.WriteStartElement("Name", ""); 
     textWriter.WriteString("Student"); 
     textWriter.WriteEndElement(); 
     textWriter.Close(); 

     return contents; 

    } 
+0

Khi tôi cố gắng này chương trình nói rằng tôi cần xác định đường dẫn thay vì nội dung – Pedram

+0

bạn có muốn đọc tệp xml thành chuỗi không. tôi có đúng không – Sachin

+1

Nếu bạn muốn tạo tệp 'xml' và sau đó gán nó cho' chuỗi' 'biến', hãy sử dụng LINQ 2 Xml, đó là cách nhanh nhất. – harry180

Trả lời

35

Something như thế này

string xmlString = System.IO.File.ReadAllText(fileName); 

Dưới đây là câu trả lời tốt để tạo ra XmlDocument XDocument or XMLDocument

+0

Cảm ơn bạn đã trả lời câu hỏi của tôi :) – Pedram

+0

Hãy để tôi thử này – Lijo

1

HI Pedram Bạn có thể thử mã bên dưới

XmlDocument doc = new XmlDocument(); 

doc.LoadXml("yourXMLPath"); 
StringWriter sw = new StringWriter(); 
XmlTextWriter tx = new XmlTextWriter(sw); 
doc.WriteTo(tx); 
sw.ToString(); 
+0

Cảm ơn nhưng tôi muốn tạo một tệp XML và lưu vào biến chuỗi, tôi không được tải hoặc lưu tệp vào hoặc từ đĩa cứng – Pedram

1

Hãy thử this-

XmlDocument doc = new XmlDocument(); 
doc.LoadXml(your text string); 

StringBuilder sb = new StringBuilder(); 
foreach (XmlNode node in doc.DocumentElement.ChildNodes) 
{ 
    sb.Append(char.ToUpper(node.Name[0])); 
    sb.Append(node.Name.Substring(1)); 
    sb.Append(' '); 
    sb.AppendLine(node.InnerText); 
} 
return sb; 

có một cái nhìn về vấn đề này too-

StringWriter sw = new StringWriter(); 
    XmlTextWriter tx = new XmlTextWriter(sw); 
    myxml.WriteTo(tx); 

    string str = sw.ToString();// 
    return str; 

và nếu bạn thực sự muốn tạo một XmlDocument mới sau đó làm điều này

XmlDocument newxmlDoc= myxml 
Các vấn đề liên quan