我使用反射来获取类中的所有属性:
use strict;
use warnings;
use XML::Simple;
use Data::Dumper;
my $xmlfile = "sample1.xml";
my $xml = new XML::Simple;
my $data = $xml->XMLin($xmlfile);
#print Dumper($data);
print "$data->{company}{title}\n";
item是对象类型Person定义如下:
var props = item.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance); // todo: cache & filter not-needed props)
var itemStr = string.Join(", ",
props.Select(p => p.GetValue(item, null)?.ToString())
.ToArray());
如何编辑获取所有属性的代码行并返回例如除NationalID之外的所有属性?
答案 0 :(得分:3)
var toExclude = new HashSet<string>("NationalID", ...);
var props = item.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance).
Where(property => !toExclude.Contains(property.Name));
将...替换为您要排除的其他媒体资源的名称,Enumerable.Where仅保留不在该集合中的资源。