Как динамически генерировать уникальный идентификатор для одного из узлов xml при вставке данных в файл XML? - PullRequest
0 голосов
/ 13 декабря 2010

Я занимаюсь разработкой приложения для windows phone 7.Я использую XML в качестве базы данных для моего приложения.Я использую файл XML вместо таблицы базы данных для моего приложения.У меня есть следующая структура для одного из моих XML-файлов.

<?xml version="1.0" encoding="utf-8" ?>
<Categories>
  <Category>
    <Category_ID></Category_ID>
    <Category_Name></Category_Name>
    <TransactionType_ID></TransactionType_ID>
  </Category>
  <Category>
    <Category_ID></Category_ID>
    <Category_Name></Category_Name>
    <TransactionType_ID></TransactionType_ID>
  </Category>
</Categories>

В вышеуказанном XML-файле я вставляю значения для Category_Name & TransactionType_ID через пользовательский интерфейс моего мобильного приложения, используя LINQ to XML.В приведенном выше XML-файле я рассматриваю Category_ID как первичный ключ, а TransactionType_ID как внешний ключ, который принадлежит другому XML-файлу.В приведенном выше XML-файле я хочу сгенерировать идентификатор автоинкремента для узла Category_ID, как мы делаем в таблице базы данных.Как создать идентификатор автоинкремента для узла Category_ID?Можете ли вы предоставить мне какой-либо код, решение или ссылку, с помощью которой я могу решить вышеуказанную проблему?Если у кого-то есть другие идеи, то, пожалуйста, поделитесь.Если я делаю что-то не так, то, пожалуйста, направь меня.

Ответы [ 2 ]

3 голосов
/ 13 декабря 2010

вы можете использовать Guid например

var uniqueIdentifier = Guid.NewGuid();//Will be generate unique value
0 голосов
/ 13 декабря 2010

Вы можете использовать GUID (как предложил Сергей) или вы можете использовать целое число.Метод Guid.NewGuid () будет возвращать новый глобальный уникальный идентификатор для каждого вызова.Если вы хотите использовать вместо этого значение типа int, вы можете сохранить самый высокий идентификатор, который вы уже использовали в настройках приложения: В настройках приложения создайте свойство ArticlIdMax типа int.тогда вы можете получить новый идентификатор с этим кодом:

int newID = Test.Properties.Settings.Default.ArtcilIdMax++;
Test.Properties.Settings.Default.Save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...