XML Dom: хранение пар ключ/значение

я не могу только использовать часть ресурса своего приложения?

Да, но потребность быть собственными ресурсами, а не ресурсами.NET (т.е. использование rc.exe, собственный компилятор ресурса).

15
задан 9 October 2009 в 12:16
поделиться

7 ответов

The default way of saving XML files is Way 2, as a lot of XML files use that markup.

But Personally I prefer Way 1 for markup over the others.

It produces way smaller files in terms to readability and linecount, gives a good overview of the items contained in another, bigger element and you don't have to bother creating an end-element tag for each item used in the file (except the container items).

But at the ent of the day, it comes to what YOU prefer and are comfortable with.

9
ответ дан 1 December 2019 в 04:53
поделиться

Еще одна альтернатива, которая кажется мне более в духе XML (при условии, что ваши ключи являются действительными именами QNames, а ваши значения не включают ничего, что могло бы привести к неправильному формату XML):

<k1>val1</k1>
<k2>val2</k2>
<k3>val3</k3>
2
ответ дан 1 December 2019 в 04:53
поделиться

The Way 3 is used by the 'java properties' files. Here is its DTD:

 <!ELEMENT properties ( comment?, entry* ) >
    <!ATTLIST properties version CDATA #FIXED "1.0">
    <!ELEMENT comment (#PCDATA) >
    <!ELEMENT entry (#PCDATA) >
    <!ATTLIST entry key CDATA #REQUIRED> 
0
ответ дан 1 December 2019 в 04:53
поделиться

In the end I think it's a matter of preference and not best practices (unless somebody can give me an example why one is superior to the other). I prefer to use way 3 and way 1.

0
ответ дан 1 December 2019 в 04:53
поделиться

You could use a Dictionary for this purpose.

Here is an example: http://msdn.microsoft.com/en-us/library/xfhwa508.aspx

0
ответ дан 1 December 2019 в 04:53
поделиться

Пока ключи будут действительными именами XML, а значения имеют простое текстовое представление, я сделаю это следующим образом:

<map key1="value1" key2="value2" key3="value3".../>

поскольку атрибуты по определению отображение имен в значения, в которых порядок сопоставления не важен - точно так же, как карта / словарь / хеш-таблица.

Есть масса случаев, когда вы не можете сделать это таким образом - if 123 - допустимый ключ, например, или если значения (или ключи) являются сериализованными объектами. На самом деле это нормально, если значения являются сериализованными объектами, если вы не возражаете, что они будут отображаться в значениях атрибутов с экранированной разметкой.

0
ответ дан 1 December 2019 в 04:53
поделиться

XML is flexible. You can choose whatever you want. I would choose 3. I think 3 is most flexible.

0
ответ дан 1 December 2019 в 04:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: