如何从XML文件加载哈希表?

时间:2009-04-28 13:51:30

标签: asp.net xml

我想将所有名称/值对从C#中的XML文件加载到哈希表中。

注意,'value'部分可能包含HTML标记,因此它必须以某种方式逃避。这会在代码中完成,还是应该使用CDATA

示例XML:

<root><node name="node1">value</node><node name="node1">value2</node><root>

2 个答案:

答案 0 :(得分:1)

是的,我会在CDATA中包装任何HTML,然后将这些选择为Dictionary<string,string>将是微不足道的。

    string xml = "<?xml version= '1.0'?><root><node name=\"node1\">value</node><node name=\"node2\">value2</node></root>";
    var doc = XDocument.Parse( xml );
    var dict = doc.Element("root")
                  .Elements( "node" )
                  .Select( e => new
                   {
                       Key = e.Attribute( "name" ).Value,
                       Value = e.Value
                   } )
                  .ToDictionary( k => k.Key, v => v.Value );

答案 1 :(得分:0)

您可以使用CDATA和/或转义HTML实体,即&lt;变得&lt;等

查看卓越的专家网站http://escapehtmlforxml.com/(!)