이 코드에서 rdfs : range 요소가 있는지 선택하기 전에이를 확인하려고합니다. 런타임시 가능한 null 참조 예외를 피하기 위해이 작업을 수행합니다.XElement를 사용하여 요소가 있는지 확인하는 방법은 무엇입니까?
p.HasElements(rdfs + "range") ?
p.Element(rdfs + "range").Attribute(rdf + "resource").Value :
null
그러나 더 HasElement(string elementName)
방법을 사용할 수 없습니다 :이 좀 보채있다
private readonly XNamespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#";
private readonly XNamespace rdfs = "http://www.w3.org/2000/01/rdf-schema#";
private readonly XElement ontology;
public List<MetaProperty> MetaProperties
{
get
{
return (from p in ontology.Elements(rdf + "Property")
select new MetaProperty
{
About = p.Attribute(rdf + "about").Value,
Name = p.Element(rdfs + "label").Value,
Comment = p.Element(rdfs + "comment").Value,
RangeUri = p.Elements(rdfs + "range").Count() == 1 ?
p.Element(rdfs + "range").Attribute(rdf + "resource").Value :
null
}).ToList();
}
}
, 내가 정말하고 싶은 것은이 같은 것입니다.
나는이 작업을 수행하기 위해 메서드 확장을 만들 수 있다고 생각하지만, 이미 구현 된 무언가가 있는지 궁금해하고 있습니까?
예. 나는 그것을 좋아한다, 나는 그것을 다른 속성에 대해서도 체크하기 위해 사용할 것이라고 생각한다. –