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()에서는 StreamReader 생성자와와StreamReader(filePath)
매트 클라크

11
@MattClark : 저는 당신의 고통을 느낍니다. 저는 CF의 모호함과 한계로 인해 2 년 동안 어려움을 겪고 있습니다. OP는 CF를 지정하지 않았으므로 응답자가 CF를 고려할 이유가 없습니다.
B. 클레이 섀넌


6

Xml.Linq 및 .net3.5 +에 신경 쓰지 않기를 바랍니다.

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

관심있는 내용에 따라 '문자열'var 부분 전체를 건너 뛰고 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 콘텐츠를 문자열에 저장해야합니다.
mins

XmlDocument.LoadXml()XML 문자열을로드합니다. 이름으로 XML 파일을로드하려면 XmlDocument.Load()수락 된 답변에서 제안 하는 대로 사용 하십시오.
François Beaune
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.