1

xmlファイルを辞書に解析したい辞書は次のようになります

"250", 0.110050251256281
"150", 0.810050256425628
"850", 0.701005025125628
"550", 0.910050251256281

以下のxmlファイルから上記のデータを辞書に解析するにはどうすればよいですか

<?xml version="1.0" encoding="utf-8"?>
<calibration>
  <zoom level="250">0,110050251256281</zoom>
  <zoom level="150">0,810050256425628</zoom>
  <zoom level="850">0,701005025125628</zoom>
  <zoom level="550">0,910050251256281</zoom>
</calibration>

どんな助けでも大歓迎です

4

5 に答える 5

4

私は次のようにします:

  var xml = @"<?xml version="1.0" encoding="utf-8"?>
              <calibration>
                  <zoom level="250">0,110050251256281</zoom>
                  <zoom level="150">0,810050256425628</zoom>
                  <zoom level="850">0,701005025125628</zoom>
                  <zoom level="550">0,910050251256281</zoom>
              </calibration>"

  var doc = XDocument.Parse(xml);
  var zooms = doc.Descendants("zoom")
                 .ToDictionary(x => x.Attribute("level").Value, x => x.Value)
于 2013-04-11T11:24:17.540 に答える
1

Linq の使用:

XDocument doc = XDocument.Load("XmlFile");
var elements = (from items in doc.Elements("calibration").Elements("zoom")
                select items).ToDictionary(x => x.Attribute("level").Value, x => Convert.ToDouble(x.Value));
于 2013-04-11T11:42:07.270 に答える
1

以下のようにしてみてください...それはあなたを助けます...

コード :

 System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
 doc.Load(Environment.CurrentDirectory + "//XML//Sample.xml");
 System.Xml.XmlNodeList CNodes = doc.SelectNodes("/calibration/zoom");
 Dictionary<int, string> dictionary = new Dictionary<int, string>();
 foreach (System.Xml.XmlNode node in CNodes)
   dictionary.Add(Convert.ToInt32(node.Attributes["level"].Value), node.InnerText);

出力:

ここに画像の説明を入力

于 2013-04-11T11:31:56.160 に答える