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()andやStreamReaderコンストラクタなどの必要なものの多くを含むStreamReader(filePath)
Matt Clark

11
@MattClark:私はあなたの痛みを感じます-私は2年間CFの気まぐれと限界に苦労してきました-しかしそれは反対票を投じる理由ではありません。OPはCFを指定しなかったため、回答者がCFを考慮する理由はありません。
B.クレイシャノン

17

.NETバージョンが3.0より新しい場合は、のSystem.Xml.Linq.XDocument代わりに使用してみてくださいXmlDocument。でデータを処理する方が簡単XDocumentです。


3
XDocumentを使用してファイルをロードする方法は次のとおりです。stackoverflow.com/ questions / 670563 / linq -
Brian Leeming

6

Xml.Linqと.net3.5 +を気にしないでください

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

興味のあるものに応じて、おそらく「文字列」変数部分全体をスキップして、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()は、受け入れられた回答が示唆するように使用します。
フランソワ・ボーヌ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.