本文整理汇总了C#中OpenXmlPart.SetPartRootElementToNull方法的典型用法代码示例。如果您正苦于以下问题:C# OpenXmlPart.SetPartRootElementToNull方法的具体用法?C# OpenXmlPart.SetPartRootElementToNull怎么用?C# OpenXmlPart.SetPartRootElementToNull使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OpenXmlPart
的用法示例。
在下文中一共展示了OpenXmlPart.SetPartRootElementToNull方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ValidatePart
/// <summary>
/// Validate the specified part.
/// </summary>
/// <param name="part">The OpenXmlPart to be validated.</param>
internal void ValidatePart(OpenXmlPart part)
{
// if the part is not defined in the specified version, then do not validate the content.
if ( ! part.IsInVersion(this.ValidationSettings.FileFormat))
{
return;
}
/*******************
* DOM traverse is not performance bottleneck.
* Is this the good way that we separate the schema validtion and the semantics validation?
*******************/
try
{
// Must be called before the call to PartRootElement { get; }
bool partRootElementLoaded = part.IsRootElementLoaded;
// schema validation
this.ValidationContext.Part = part;
this.ValidationContext.Element = part.PartRootElement;
var lastErrorCount = this.ValidationResult.Errors.Count;
if (part.PartRootElement != null)
{
this.SchemaValidator.Validate(this.ValidationContext);
this.ValidationContext.Element = part.PartRootElement;
this.SemanticValidator.ClearConstraintState(SemanticValidationLevel.PartOnly);
this.SemanticValidator.Validate(this.ValidationContext);
}
if (!partRootElementLoaded &&
this.ValidationResult.Errors.Count == lastErrorCount)
{
// No new errors in this part. Release the DOM to GC memary.
part.SetPartRootElementToNull();
}
}
catch (System.Xml.XmlException e)
{
ValidationErrorInfo errorInfo = new ValidationErrorInfo();
errorInfo.ErrorType = ValidationErrorType.Schema;
errorInfo.Id = "ExceptionError";
errorInfo.Part = part;
errorInfo.Path = new XmlPath(part);
errorInfo.Description = string.Format(System.Globalization.CultureInfo.CurrentUICulture,
ValidationResources.ExceptionError, e.Message);
this.ValidationResult.AddError(errorInfo);
}
}