2012-07-04 2 views
1

У меня есть автоматически сгенерированный XML-файл, который я должен заполнить значениями из базы данных oracle или с произвольно сгенерированной последовательностью.Как заполнить XML-файл случайными данными?

Например:

<ns1:message> 
     <ns1:messageId>  </ns1:messageId> 
     <ns1:languageCode> </ns1:languageCode> 
</ns1:message> 

<messageId> должны быть заполнены случайно последовательность.

<ns1:languageCode> должно быть заполнено значением из базы данных.

Как это сделать?

+3

[Что вы пытались?] (Http://whathaveyoutried.com) – poke

+0

Я пробовал решение этой темы http://stackoverflow.com/questions/1606328/create-an-xml-file-using-a -shell-script, но мне интересно, возможно ли это сделать, не экспортируя значения сначала в файл. – user1500751

ответ

1

На самом деле здесь две задачи.

  • Производит XML с .NET.

Лучший способ, который я вижу до сих пор, - использовать LinqToXML. Вы можете прочитать здесь, до create XML trees.

var xmlTree = new XElement("message", 
     new XElement("messageId", GetRandomMessageId()), 
     new XElement("languageCode", GetRandomLanguageCode())); 
  • Реализация методов для генерации случайных данных GetRandomMessageId(), GetRandomLanguageCode().

Используйте .NET Random class, чтобы это произошло.

Подобно тому, как, например:

public string GetRandomMessageId() 
{ 
    return "messageId_" + new Random(100); 
} 

Вы можете настроить то, что вы хотите.

+0

Спасибо, Александр. Я не очень далеко.Net вы могли бы разместить пример ситуации, когда я должен иметь ценность из базы данных? – user1500751

+0

Я не уверен, что именно вы имеете в виду? –

+0

В теге '' Мне нужно иметь следующее значение: select value from v_domaine; – user1500751

0

Если вам нужно сгенерировать какие-то случайные данные, вам стоит взглянуть на AutoPoco.

0

Если вы хотите, чтобы заполнить последовательность, используя криптографически безопасный генератор случайных чисел не использоватьSystem.Random класса. Вместо того, чтобы использовать

System.Security.Cryptography.RandomNumberGenerator

, такие как

System.Security.Cryptography.RNGCryptoServiceProvider.

Если неважно, что цифры криптографически случайны, то вы можете использовать класс System.Random.

Пример в сети разработчиков Microsoft. Как и документация для RNGCryptoServiceProvider, вы можете найти по адресу MSDN: RNGCryptoServiceProvider Class.

Смежные вопросы