Как я могу загрузить хеш-таблицу из файла XML? - PullRequest
1 голос
/ 28 апреля 2009

Я хочу загрузить все пары имя / значение в хеш-таблицу из файла XML в C #.

Обратите внимание: часть 'value' может содержать разметку HTML, поэтому она должна каким-то образом избежать этого. Будет ли это сделано в коде, или я должен использовать CDATA?

Пример XML:

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

Ответы [ 2 ]

1 голос
/ 28 апреля 2009

Да, я бы обернул любой HTML в CDATA, тогда было бы тривиально выделить их в 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 );
0 голосов
/ 28 апреля 2009

Вы можете использовать CDATA и / или экранировать сущности HTML, т. Е. <Становится <и т. Д. </p>

См. Замечательный сайт специалиста http://escapehtmlforxml.com/ (!)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...