我有一个我想要生成xml的产品列表,目前所有产品都保存在List <>对象中....
List<Product> products= DataAccess.GetProducts();
XmlTextWriter writer = new XmlTextWriter(@"C:\ProductsToXml.xml", null);
writer.WriteComment("Nick's Test Products To Xml.");
writer.WriteStartElement("xml");
writer.WriteStartElement("Product");
writer.WriteStartElement("Name");
writer.WriteString("Almonds");
writer.WriteEndElement();
//end for product
writer.WriteEndElement();
//end for xml
writer.WriteEndElement();
writer.Close();
Run Code Online (Sandbox Code Playgroud)
现在我将使用这个骨架并遍历所有产品并添加xml,就像上面的骨架一样.事情是有很多writer.WriteStartElement指令,因为我的产品中有很多数据.我不确定这是否是创建xml文件的最佳方式,或者它是否重要?这种方法对我正在做的事情是否正常?基本上采用具有一堆属性的产品对象并从中创建xml,这就是该代码的所有目的.
你们会这样做吗?
这是我第一次与Oracle合作,而且我们都讨厌在你使用特定模型的同时使用外国产品,尽管这是我们的工作,我们必须做到.
现在我已经安装了Oracle 11g,并复制并引用了Oracle.DataAccess.dll,创建了一个方法,用于打开连接并尝试从服务器上创建的视图中检索某些对象.
方法:
public BindingList<HeaderReceiver> GetHeaderReceivers()
{
try
{
using (OracleConnection db = new OracleConnection(BaseDataAccess.ConnString))
{
string cmdText = "select * from p_customer t";
BindingList<HeaderReceiver> headerReceivers = new BindingList<HeaderReceiver>();
OracleCommand cmd = new OracleCommand(cmdText) { CommandType = CommandType.Text };
db.Open();
OracleDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); <--- Error Occurs HERE!!!
while (reader.Read())
headerReceivers.Add(HeaderReceiver.GetInstance(reader));
CustBranchRepository rep = new CustBranchRepository();
headerReceivers.ForEach(p => p.DetailsBranch = rep.GetDetailReceivers(p.Id));
reader.Close();
db.Close();
return headerReceivers;
}
}
catch (Exception ex)
{
ExporterLogger.Log(ex);
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,当ExecuteReader()提交时,我得到了这个InvalidOperationException.
Operation is …Run Code Online (Sandbox Code Playgroud) 我可以看到哪里可以更改编辑器字体,但项目面板字体看起来不合理.覆盖默认字体只会更改上部路径栏和其他一些元素.
我目前正在尝试使用.net任务来运行一个长方法.我需要能够从任务中返回数据.我想在每次在新任务中运行时多次调用此方法.但是,使用Task.Result属性返回数据会使每个任务等待直到完成.
例如,目前如果做这样的事情:
public void RunTask()
{
var task = Task.Factory.StartNew(() =>
{
return LongMethod()
});
Console.WriteLine(task.Result);
}
Run Code Online (Sandbox Code Playgroud)
并且多次调用它,每次花费不同的时间,在执行下一个任务之前等待每个任务完成.
是否可以多次调用我的RunTask方法,每次返回结果而不必等待每个任务按顺序完成?
另一个列表字典问题.
我有一个dict如下,列表中的单位名称和测试名称:
dictA = {('unit1', 'test1'): 10, ('unit2', 'test1'): 78, ('unit2', 'test2'): 2, ('unit1', 'test2'): 45}
units = ['unit1', 'unit2']
testnames = ['test1','test2']
Run Code Online (Sandbox Code Playgroud)
我们如何在测试名中找到每个测试的最大值:
我尝试如下:
def max(dict, testnames_array):
maxdict = {}
maxlist = []
temp = []
for testname in testnames_array:
for (xunit, xtestname), value in dict.items():
if xtestname == testname:
if not isinstance(value, str):
temp.append(value)
temp = filter(None, temp)
stats = corestats.Stats(temp)
k = stats.max() #finds the max of a list using another module
maxdict[testname] = k
maxlist.append(maxdict)
maxlist.insert(0,{'Type':'MAX'}) …Run Code Online (Sandbox Code Playgroud) 我想我的映射Dictionary<int, string>到一个List<Customer>地方Customer有两个属性Id和Name.现在我想迭代地将字典的整数映射Key到List<Customer>[i].Key属性和Value字典List<Customer>[i].Name.
需要帮助.
我一直试图找出在PHP中使用位掩码或位域的最佳方法,现在我的应用程序的不同区域用于不同的用户设置和权限.我到目前为止最远的是来自PHP中用于设置的Stack Overflow post Bitmask中的svens贡献的类?.我稍微对它进行了修改,将其更改为使用类常量而不是DEFINE,并确保get方法仅传递给int.我还有一些示例代码来测试下面的类的功能.
我正在寻找任何建议/代码来进一步改进这个类,以便它可以在我的应用程序中用于设置和某些情况下的用户权限.
mcrumley在下面的评论中回答
另外,我对我的常数的编号有疑问.在这种类型的其他类和代码示例中,它将以2的幂列出事物.但是,即使我对常数1,2,3,4,5,6进行编号,它似乎也能正常工作.而不是1,2,4,8,16等.所以有人也可以澄清我是否应该改变我的常数?
一些想法......我真的想找出一种方法来扩展这个类,以便它可以很容易地与其他类一起使用.假设我有User班级和Messages班级.无论是User和Messages类将扩展此类,并能够使用位掩码为他们设置/权限(与其他班级后沿).那么也许应该更改当前的类常量,以便可以传入它们或其他选项?我真的不想在站点/脚本的其他部分定义(define('PERM_READ',1);)并且希望保持它有点封装,但也是灵活的; 我对这些想法持开放态度.我希望这是坚如磐石和灵活的,就像我说要与其他多个类一起使用设置或权限.可能应该使用某种阵列?来自上一个问题链接的@Svens发表评论"实施一些自动化的getter/setter或者ArrayAccess以获得更多的优点. - svens"您对这样的事情有什么看法?
请尽可能包含示例源代码.
<?php
class BitField {
const PERM_READ = 0;
const PERM_WRITE = 1;
const PERM_ADMIN = 2;
const PERM_ADMIN2 = 3;
const PERM_ADMIN3 = 4;
private $value;
public function __construct($value=0) {
$this->value = $value;
}
public function getValue() {
return $this->value;
}
public function get($n) {
if (is_int($n)) {
return ($this->value & (1 << $n)) != 0; …Run Code Online (Sandbox Code Playgroud) 我是一名JS程序员,我一直在尝试使用jQuery,但遇到了一些令人费解的问题.
我觉得人们使用jQuery远远超过必要.我真的只是想知道为什么选择jQuery可能比使用纯JS更好.
我知道webfx就像动画和淡化一样有意义但是对于像添加事件监听器这样的东西它似乎同样容易使用
obj = document.getElementByID(_ID_);
obj.addEventListener("mousedown"...);
Run Code Online (Sandbox Code Playgroud)
这方面的一个例子是我今天早些时候在StackOverflow上找到的关于为突出显示的文本执行操作的答案.获取突出显示/选定的文本
在http://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.html的答案中链接的示例中
该人使用绑定功能到文档.为什么使用bind而不是addEventListener.另外,对于jQuery,一切都需要包含在.ready()方法中,这比(或者为什么选择它)更好
document.addEventListener('load', function () { ... }, false);
Run Code Online (Sandbox Code Playgroud)
还有一次我看到jQuery使用这让我很困惑,我希望你们能为我发光一些.
我试图从DJango中两个相关表的连接中进行选择,如下所示.但我无法得到name另一张桌子的领域.
在SQL中我们可以写:
select person.phonenumber,membership.* from membership where person=name ;
Run Code Online (Sandbox Code Playgroud)
这会显示所有membership字段phonenumber,但在Django中会抛出错误:
无法将关键字"phonenumber"解析为字段
我甚至试过select_related但没用过.我做错了吗?
model.py:
from django.db import models
# Create your models here.
class Person(models.Model):
name = models.CharField(primary_key=True,max_length=128)
phonenumber = models.CharField(max_length=128)
city = models.CharField(max_length=128)
def __unicode__(self):
return self.name
class Membership(models.Model):
person = models.ForeignKey(Person)
date_joined = models.DateField()
invite_reason = models.CharField(max_length=64)
>>> print m.query
SELECT `myapp_membership`.`id`, `myapp_membership`.`person_id`, `myapp_membership`.`date_joined`, `myapp_membership`.`invite_reason` FROM `myapp_membership` WHERE `myapp_membership`.`person_id` = x
>>> m=Membership.objects.filter(person__name='x').select_related()
>>> print m.query
SELECT `myapp_membership`.`id`, `myapp_membership`.`person_id`, `myapp_membership`.`date_joined`, `myapp_membership`.`invite_reason`, …Run Code Online (Sandbox Code Playgroud) 我有一些使用C语言中的Berkeley套接字编程的套接字编程经验.通常,任何套接字编程都需要一种策略,使接收套接字能够知道它应该接收多少数据.这可以使用标题长度字段或分隔符字符来完成.通常,我更喜欢包含长度的标题字段.
当然,我们还需要知道长度标题字段本身的大小,这只是一个固定大小的值,必须由发送方和接收方商定.在C中,这很容易实现,因为本机整数类型是固定大小和二进制格式,所以你可以这样说:
uint16_t bytes_to_receive;
recv(sock, &bytes_to_receive, sizeof(bytes_to_receive), 0);
bytes_to_receive = ntohs(bytes_to_receive);
// Now receive 'bytes_to_receive' bytes...
Run Code Online (Sandbox Code Playgroud)
但是如何使用Python套接字完成这种习惯用法呢?在Python中,整数是对象,而pickle整数是可变长度的字节数组.所以我们不能使用pickle整数作为长度头字段,因为我们无法确定它的大小(以字节为单位).
当然,我总是可以发送一个包含二进制整数的已知大小的字节数组,比如b'\x05\x00'用小端格式创建一个值为5的16位二进制整数,但这似乎不是正确的方法.
那么,这通常如何在Python中完成?
c# ×2
c#-4.0 ×2
python ×2
.net ×1
.net-4.0 ×1
bitmask ×1
c ×1
class-design ×1
data-access ×1
dictionary ×1
django ×1
idictionary ×1
ilist ×1
javascript ×1
jquery ×1
list ×1
max ×1
odp.net ×1
oracle11g ×1
performance ×1
php ×1
sockets ×1
tuples ×1
xml ×1