문서 내에서 특성 "nil = true"로 XML 요소를 정리하려고합니다. 나는이 고고함을 생각해 낸다. 그러나 나는 그것이 어떻게 보이는지에 관해 싫어한다.특성 "nil = true"로 XML 요소를 정리합니다. - linq 버전을 만드시겠습니까?
사람이 너 한테의 LINQ 버전을 알고 계십니까?
/// <summary>
/// Cleans the Xml element with the attribut "nil=true".
/// </summary>
/// <param name="value">The value.</param>
public static void CleanNil(this XElement value)
{
List<XElement> toDelete = new List<XElement>();
foreach (var element in value.DescendantsAndSelf())
{
if (element != null)
{
bool blnDeleteIt = false;
foreach (var attribut in element.Attributes())
{
if (attribut.Name.LocalName == "nil" && attribut.Value == "true")
{
blnDeleteIt = true;
}
}
if (blnDeleteIt)
{
toDelete.Add(element);
}
}
}
while (toDelete.Count > 0)
{
toDelete[0].Remove();
toDelete.RemoveAt(0);
}
}
다음을 사용하는 문제를 해결하기 위해 내 방식을 변경하고 내 nullable 형식 에 전무를 만들 피하기 XML 네임 스페이스에 대해서는 언급하지 않았지만 http://www.w3.org/2001/XMLSchema-instance 네임 스페이스 (종종 접두어'xsi'를 사용)는 nil 요소에 대해'true'로 설정할 수있는'nil' 속성을 가지고 있습니다 . 그것이 사용중인 속성 인 경우 응답이 예상대로 작동하지 않는 이유를 설명합니다. 해답은 기본 네임 스페이스에서'nil' 속성을 찾고 XML에서 작동하지 않습니다. –