如何在创建有效的服务器文档实例时防止 XmlException

本文关键字:实例 XmlException 文档 服务器 创建 有效 | 更新日期: 2023-09-27 18:37:05

我有以下代码:

var sd = new ServerDocument(documentPath);

应该注意的是,documentPath 是一个有效的路径,并且该文档使用 vsto 应用程序。它在单词中打开得很好,我可以毫无问题地使用我的 vsto 扩展。

提到的代码行抛出异常:

缺少根元素。

at

System.Xml.XmlTextReaderImpl.Throw(Exception e) at System.Xml.XmlTextReaderImpl.ParseDocumentContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.LoadXml(String xml) at Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo.TryGetManifestInfo(PackagePart part, ManifestType&type, String&xml) at Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo.EnsureMaps() 在 Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.ServerAppInfo..ctor(封装) 包)在 Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.EnsureAppInfo()
在 Microsoft.Office.Tools.OfficeOpenXmlAppInfoDocument.Microsoft.VisualStudio.Tools.Applications.Runtime.IAppInfo.ReadItem(String 类型,字符串 id) 在 Microsoft.VisualStudio.Tools.Applications.AppInfo.GetDeploymentManifestUrl(IAppInfo appInfo)在 Microsoft.VisualStudio.Tools.Applications.ServerDocument.Initialize(Byte[] bytes, 字符串文档路径或文件类型, 文件访问访问, 布尔值 throwOnPreviousVersion) at Microsoft.VisualStudio.Tools.Applications.ServerDocument.Initialize(Byte[] bytes, String documentPathOrFileType, FileAccess access) at Microsoft.VisualStudio.Tools.Applications.ServerDocument..ctor(字符串 documentPath) at ConsoleApplication12.Program.Main(String[] args)

如何防止这个问题?

如何在创建有效的服务器文档实例时防止 XmlException

您的文档是否有根元素?

您收到的错误:

"根元素缺失。"

表示您的文档缺少根元素。那么什么是"根元素"呢?

维基百科 说:

每个 XML 文档只有一个根元素。它包含所有其他元素,因此是所有其他元素的唯一父元素。ROOT 元素也称为 PARENT 元素。

下面是一个示例:

<animals>
    <cat />
    <dog />
    <armadillo />
</animals>

animals是此示例中的根元素。

简而言之 - 检查您的文档以确保它有一个且只有一个根元素。