อ่านไฟล์ XML ลงใน XmlDocument


103

ฉันยังใหม่กับ C # มาก ฉันมีไฟล์ XML (text.xml) ฉันต้องการอ่านXmlDocumentและเก็บสตรีมไว้ในตัวแปรสตริง


1
ขอบคุณทั้งสองท่านสำหรับความช่วยเหลือ
AJP

คำตอบ:


169

ใช้XmlDocument.Load()วิธีการโหลด XML จากไฟล์ของคุณ จากนั้นใช้XmlDocument.InnerXmlคุณสมบัติเพื่อรับสตริง XML

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

2
XmlDocumentไม่มีคำจำกัดความสำหรับLoad.
Matt Clark

ฉันลงคะแนนทั้งหมดนี้เพราะไม่มีผลงานเลย ปรากฎว่าฉันกำลังพัฒนาสำหรับ WindowsRT และCompact .NET Frameworkมีคุณสมบัติเหล่านี้มากมาย รวมถึงสิ่งที่ฉันต้องการมากมาย ... เช่นXmlDocument.Load()และและตัวสร้าง StreamReaderStreamReader(filePath)
Matt Clark

11
@MattClark: ฉันรู้สึกถึงความเจ็บปวดของคุณ - ฉันต่อสู้กับความหลากหลายและข้อ จำกัด ของ CF มาสองปีแล้ว - แต่นั่นไม่ใช่เหตุผลที่จะลงคะแนน OP ไม่ได้ระบุ CF ดังนั้นจึงไม่มีเหตุผลใดที่ผู้ตอบจะนำ CF มาพิจารณา
บีเคลย์แชนนอน


6

หวังว่าคุณจะไม่ทราบ Xml.Linq และ. net3.5 +

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

ขึ้นอยู่กับสิ่งที่คุณสนใจคุณสามารถข้ามส่วน var 'string' ทั้งหมดและใช้วัตถุ XLinq ได้


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");

โปรดทราบว่าคำถามยังกำหนดให้จัดเก็บเนื้อหา XML เป็นสตริง
นาที

XmlDocument.LoadXml()โหลดสตริง XML ในการโหลดไฟล์ XML ตามชื่อให้ใช้XmlDocument.Load()ตามคำตอบที่ยอมรับแนะนำ
François Beaune
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.