我有一个自动生成的 XML 文件,我必须用 Oracle 数据库中的值或随机生成的序列填充该文件。
例如:
<ns1:message>
<ns1:messageId> </ns1:messageId>
<ns1:languageCode> </ns1:languageCode>
</ns1:message>
<messageId>
应按随机顺序填充。
<ns1:languageCode>
应填充数据库中的值。
我怎样才能做到这一点?
我有一个自动生成的 XML 文件,我必须用 Oracle 数据库中的值或随机生成的序列填充该文件。
例如:
<ns1:message>
<ns1:messageId> </ns1:messageId>
<ns1:languageCode> </ns1:languageCode>
</ns1:message>
<messageId>
应按随机顺序填充。
<ns1:languageCode>
应填充数据库中的值。
我怎样才能做到这一点?
这里实际上有 2 个任务。
到目前为止我看到的最好的方法是使用LinqToXML。您可以在此处阅读,热创建 XML 树。
var xmlTree = new XElement("message",
new XElement("messageId", GetRandomMessageId()),
new XElement("languageCode", GetRandomLanguageCode()));
GetRandomMessageId
(),GetRandomLanguageCode
()。使用 .NET Random 类来实现这一点。
举个例子:
public string GetRandomMessageId()
{
return "messageId_" + new Random(100);
}
您可以自定义您喜欢的任何内容。
如果您需要生成某种随机数据,您可能应该看看AutoPoco。
如果您想使用加密安全的随机数生成器填充序列,请不要使用该类System.Random
。而是使用
System.Security.Cryptography.RandomNumberGenerator
如
System.Security.Cryptography.RNGCryptoServiceProvider
.
如果数字是加密随机的并不重要,那么您可以使用System.Random
该类。
Microsoft 开发人员网络上的示例以及RNGCryptoServiceProvider
可在MSDN 中找到的文档:RNGCryptoServiceProvider Class。