SubDocumentReference 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
子文档位置的定位点。
此类在 Office 2007 及更高版本中可用。
当对象序列化为 xml 时,其限定名称为 w:subDoc。
public class SubDocumentReference : DocumentFormat.OpenXml.Wordprocessing.RelationshipType[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(23, "subDoc")]
public class SubDocumentReference : DocumentFormat.OpenXml.Wordprocessing.RelationshipType[DocumentFormat.OpenXml.SchemaAttr(23, "subDoc")]
public class SubDocumentReference : DocumentFormat.OpenXml.Wordprocessing.RelationshipType[DocumentFormat.OpenXml.SchemaAttr("w:subDoc")]
public class SubDocumentReference : DocumentFormat.OpenXml.Wordprocessing.RelationshipType[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class SubDocumentReference : DocumentFormat.OpenXml.Wordprocessing.RelationshipTypetype SubDocumentReference = class
    inherit RelationshipType[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(23, "subDoc")>]
type SubDocumentReference = class
    inherit RelationshipType[<DocumentFormat.OpenXml.SchemaAttr(23, "subDoc")>]
type SubDocumentReference = class
    inherit RelationshipType[<DocumentFormat.OpenXml.SchemaAttr("w:subDoc")>]
type SubDocumentReference = class
    inherit RelationshipType[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type SubDocumentReference = class
    inherit RelationshipTypePublic Class SubDocumentReference
Inherits RelationshipType- 继承
- 继承
- 
				SubDocumentReference
- 属性
注解
[ISO/IEC 29500-1 第 1 版]
subDoc (Anchor for Subdocument Location)
此元素指定主控文档中用于插入指定子文档内容的位置。 指定子文档的内容应根据需要出现在主控文档中的指定位置,但应保留在子文档位置指定的单独文件的一部分。 子文档的位置应由 Id 属性与此元素上的 id 属性匹配的关系指定。
如果此元素指定的关系类型不是 http://schemas.openxmlformats.org/officeDocument/2006/subDocument、不存在或没有 TargetMode 属性值 External,则文档应被视为不符合。
当子文档显示在主控文档中的指定位置时,以下逻辑确定如何处理子文档和关联的主控文档的样式和格式:
- 保留子文档中的所有直接格式设置。 
- 对于每个子文档中的每个样式: 
如果主控文档中存在具有相同 styleId 属性值的样式,请在母版文档中使用该样式显示子文档的内容。
否则,请将样式导入母版文档并使用原始样式显示内容。
如果后续子文档还包含具有相同 styleId 属性值的样式,则忽略后者的样式,并使用导入到母版文档的样式版本显示内容。
[示例:考虑一本由三章组成的书,其中两章已划分为子文档,如下所示 (红色矩形指示每个子文档内容的边界) :
35b1894c-1477-4693-aeec-f0baccc69f21
生成的主文档将包含其自己的 WordprocessingML 内容,以及位于相应位置的子文档定位点:
<w:body>  
  <w:p>  
    …    <w:r>  
      <w:t>My Book</w:t>  
    </w:r>  
  </w:p>  
  <w:p>  
    <w:r>  
      <w:t>Once upon a time…</w:t>  
    </w:r>  
  </w:p>  
  <w:p>  
    <w:subDoc r:id="subDocRel1" />  
  </w:p>  
  <w:p>  
    <w:subDoc r:id="subDocRel2" />  
  </w:p>  
  <w:sectPr>  
    …  </w:sectPr>  
</w:body>  
两个 subDoc 元素指定,ID 为 subDocRel1 和 subDocRel2 的关系所面向的子文档必须按照该顺序导入到内容的前两段内容之后。 检查相应关系部分项的内容,可以看到这些关系的目标:
<Relationships … >  
  …  <Relationship Id="subDocRel1" TargetMode="External" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/subDocument" Target="Chapter1.docx" />  
  <Relationship Id="subDocRel2" TargetMode="External" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/subDocument" Target="Chapter2.docx" />  
  …</Relationships>  
相应的关系部件项显示,要导入的两个文件分别位于当前文件所在的同一位置,名称 Chapter1.docx 和 Chapter2.docx 。 示例结束]
| 父元素 | 
|---|
| bdo (§17.3.2.3) ;customXml (§17.5.1.3) ;dir (§17.3.2.8) ;fldSimple (§17.16.19) ;hyperlink (§17.16.22) ;p (§17.3.1.22) ;sdtContent (§17.5.2.36) ;smartTag (§17.5.1.9) | 
[注意:此元素的内容模型 (CT_Rel) 的 W3C XML 架构定义位于 §A.1 中。 注释结束]
ISO/IEC29500:2008。
构造函数
| SubDocumentReference() | 初始化 SubDocumentReference 类的新实例。 | 
属性
| ChildElements | 获取当前元素的所有子节点。(继承自 OpenXmlElement) | 
| ExtendedAttributes | 获取当前元素的架构) 中未定义的所有扩展属性 (属性。(继承自 OpenXmlElement) | 
| Features | IFeatureCollection获取当前元素的 。 此功能集合将是只读的,但会从其父部件和包继承功能(如果可用)。(继承自 OpenXmlElement) | 
| FirstChild | 获取 OpenXmlElement 元素的第一个子元素。 如果没有这样的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。(继承自 OpenXmlElement) | 
| HasAttributes | 获取一个值,该值指示当前元素是否具有任何属性。(继承自 OpenXmlElement) | 
| HasChildren | 获取一个值,该值指示当前元素是否具有任何子元素。(继承自 OpenXmlLeafElement) | 
| Id | 与部件的关系 表示架构中的以下属性:r:id(继承自 RelationshipType) | 
| InnerText | 获取或设置节点及其所有子级的串联值。(继承自 OpenXmlElement) | 
| InnerXml | 获取或设置仅表示当前元素的子元素的标记。(继承自 OpenXmlLeafElement) | 
| LastChild | 获取 OpenXmlElement 元素的最后一个子元素。 如果没有这样的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。(继承自 OpenXmlElement) | 
| LocalName | 子文档位置的定位点。 此类在 Office 2007 及更高版本中可用。 当对象序列化为 xml 时,其限定名称为 w:subDoc。 | 
| LocalName | 获取当前元素的本地名称。(继承自 OpenXmlElement) | 
| MCAttributes | 获取或设置标记兼容性属性。 如果未为当前元素定义标记兼容性属性,则返回 null。(继承自 OpenXmlElement) | 
| NamespaceDeclarations | 获取在当前元素中定义的所有命名空间声明。 如果没有命名空间声明,则返回空枚举器。(继承自 OpenXmlElement) | 
| NamespaceUri | 获取当前元素的命名空间 URI。(继承自 OpenXmlElement) | 
| OpenXmlElementContext | 获取当前元素的 OpenXmlElementContext。(继承自 OpenXmlElement) | 
| OuterXml | 获取表示当前元素及其所有子元素的标记。(继承自 OpenXmlElement) | 
| Parent | 获取当前元素的父元素。(继承自 OpenXmlElement) | 
| Prefix | 获取当前元素的命名空间前缀。(继承自 OpenXmlElement) | 
| XmlQualifiedName | 获取当前元素的限定名称。(继承自 OpenXmlElement) | 
| XName | 获取当前元素的限定名称。(继承自 OpenXmlElement) | 
方法
| AddAnnotation(Object) | 将 对象添加到当前 OpenXmlElement 元素的批注列表中。(继承自 OpenXmlElement) | 
| AddNamespaceDeclaration(String, String) | 将命名空间声明添加到当前节点。(继承自 OpenXmlElement) | 
| Ancestors() | 枚举当前元素的所有上级。(继承自 OpenXmlElement) | 
| Ancestors<T>() | 仅枚举具有指定类型的当前元素的上级。(继承自 OpenXmlElement) | 
| Annotation(Type) | 从当前 OpenXmlElement 元素获取指定类型的第一个批注对象。(继承自 OpenXmlElement) | 
| Annotation<T>() | 从当前 OpenXmlElement 元素获取指定类型的第一个批注对象。(继承自 OpenXmlElement) | 
| Annotations(Type) | 获取具有当前 OpenXmlElement 元素的指定类型的批注的集合。(继承自 OpenXmlElement) | 
| Annotations<T>() | 获取具有当前 OpenXmlElement 元素的指定类型的批注的集合。(继承自 OpenXmlElement) | 
| Append(IEnumerable<OpenXmlElement>) | 将元素列表中的每个元素追加到当前元素的子元素列表的末尾。(继承自 OpenXmlElement) | 
| Append(OpenXmlElement[]) | 将元素数组中的每个元素追加到当前元素的子元素列表的末尾。(继承自 OpenXmlElement) | 
| AppendChild<T>(T) | 将指定的元素追加到当前元素的子节点列表的末尾。(继承自 OpenXmlElement) | 
| ClearAllAttributes() | 清除所有属性,包括已知属性和扩展属性。(继承自 OpenXmlElement) | 
| Clone() | 创建当前节点的副本。(继承自 OpenXmlElement) | 
| CloneNode(Boolean) | 创建此节点的副本。 | 
| Descendants() | 枚举当前元素的所有后代。(继承自 OpenXmlElement) | 
| Descendants<T>() | 枚举类型为 T 的当前元素的所有后代。(继承自 OpenXmlElement) | 
| Elements() | 枚举当前元素的所有子元素。(继承自 OpenXmlElement) | 
| Elements<T>() | 仅枚举具有指定类型的当前元素的子元素。(继承自 OpenXmlElement) | 
| ElementsAfter() | 枚举与当前元素相同的父级的所有同级元素。(继承自 OpenXmlElement) | 
| ElementsBefore() | 枚举当前元素之前且具有与当前元素相同的父级的所有同级元素。(继承自 OpenXmlElement) | 
| GetAttribute(String, String) | 获取具有指定标记名称和命名空间 URI 的 Open XML 属性。(继承自 OpenXmlElement) | 
| GetAttributes() | 获取一个列表,该列表包含所有属性的副本。(继承自 OpenXmlElement) | 
| GetEnumerator() | 返回循环访问子集合的枚举器。(继承自 OpenXmlElement) | 
| GetFirstChild<T>() | 查找类型 T 中的第一个子元素。(继承自 OpenXmlElement) | 
| InsertAfter<T>(T, OpenXmlElement) | 在指定的引用元素之后立即插入指定的元素。(继承自 OpenXmlElement) | 
| InsertAfterSelf<T>(T) | 在当前元素之后立即插入指定的元素。(继承自 OpenXmlElement) | 
| InsertAt<T>(T, Int32) | 在当前元素的子元素列表中指定索引处插入指定的元素。(继承自 OpenXmlElement) | 
| InsertBefore<T>(T, OpenXmlElement) | 将指定的元素紧接在指定的引用元素之前。(继承自 OpenXmlElement) | 
| InsertBeforeSelf<T>(T) | 将指定的元素紧接在当前元素的前面。(继承自 OpenXmlElement) | 
| IsAfter(OpenXmlElement) | 确定当前元素是否以文档顺序显示在指定元素之后。(继承自 OpenXmlElement) | 
| IsBefore(OpenXmlElement) | 确定当前元素是否按文档顺序显示在指定元素之前。(继承自 OpenXmlElement) | 
| LookupNamespace(String) | 解析当前节点上下文中的命名空间前缀。(继承自 OpenXmlElement) | 
| LookupPrefix(String) | 查找当前元素范围内命名空间 URI 的相应前缀。(继承自 OpenXmlElement) | 
| NextSibling() | 获取紧跟在当前 OpenXmlElement 元素后面的 OpenXmlElement 元素。 如果没有下一个 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。(继承自 OpenXmlElement) | 
| NextSibling<T>() | 获取具有当前 OpenXmlElement 元素后面的指定类型的 OpenXmlElement 元素。 如果没有下一个 OpenXmlElement,则返回 null (Visual Basic) Nothing。(继承自 OpenXmlElement) | 
| PrependChild<T>(T) | 在当前元素的子元素列表的开头插入指定的元素。(继承自 OpenXmlElement) | 
| PreviousSibling() | 获取紧接在当前 OpenXmlElement 元素之前的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic ) 中 Nothing。(继承自 OpenXmlElement) | 
| PreviousSibling<T>() | 获取位于当前 OpenXmlElement 之前的指定类型的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。(继承自 OpenXmlElement) | 
| Remove() | 从其父元素中删除当前元素。(继承自 OpenXmlElement) | 
| RemoveAllChildren() | 删除当前元素的所有子元素。(继承自 OpenXmlLeafElement) | 
| RemoveAllChildren<T>() | 删除类型为 T 的当前元素的所有子元素。(继承自 OpenXmlElement) | 
| RemoveAnnotations(Type) | 从当前 OpenXmlElement 元素中删除指定类型的注释。(继承自 OpenXmlElement) | 
| RemoveAnnotations<T>() | 从当前 OpenXmlElement 元素中删除具有指定类型的批注。(继承自 OpenXmlElement) | 
| RemoveAttribute(String, String) | 从当前元素中删除 属性。(继承自 OpenXmlElement) | 
| RemoveChild<T>(T) | 从当前元素的子元素列表中删除指定的子元素。(继承自 OpenXmlElement) | 
| RemoveNamespaceDeclaration(String) | 删除指定前缀的命名空间声明。 如果没有前缀,则不删除任何内容。(继承自 OpenXmlElement) | 
| ReplaceChild<T>(OpenXmlElement, T) | 将子元素替换为当前元素的子元素列表中的另一个子元素。(继承自 OpenXmlElement) | 
| SetAttribute(OpenXmlAttribute) | 将特性设置为指定的元素。 如果该属性是已知属性,则设置该特性的值。 如果该属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。(继承自 OpenXmlElement) | 
| SetAttributes(IEnumerable<OpenXmlAttribute>) | 设置元素的多个属性。 如果属性是已知属性,则会设置该属性的值。 如果属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。(继承自 OpenXmlElement) | 
| WriteTo(XmlWriter) | 将当前节点保存到指定的 XmlWriter。(继承自 OpenXmlElement) | 
显式接口实现
| IEnumerable.GetEnumerator() | 子文档位置的定位点。 此类在 Office 2007 及更高版本中可用。 当对象序列化为 xml 时,其限定名称为 w:subDoc。(继承自 OpenXmlElement) | 
| IEnumerable<OpenXmlElement>.GetEnumerator() | 返回循环访问子集合的枚举器。(继承自 OpenXmlElement) |