AltChunk 类

定义

定义 AltChunk 类。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 w:altChunk。

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(23, "altChunk")]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr(23, "altChunk")]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr("w:altChunk")]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.SchemaAttr("w:altChunk")]
public class AltChunk : DocumentFormat.OpenXml.TypedOpenXmlCompositeElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))]
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(23, "altChunk")>]
type AltChunk = class
    inherit OpenXmlCompositeElement
type AltChunk = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr(23, "altChunk")>]
type AltChunk = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr("w:altChunk")>]
type AltChunk = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.SchemaAttr("w:altChunk")>]
type AltChunk = class
    inherit TypedOpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))>]
type AltChunk = class
    inherit OpenXmlCompositeElement
[<DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))>]
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type AltChunk = class
    inherit OpenXmlCompositeElement
Public Class AltChunk
Inherits OpenXmlCompositeElement
Public Class AltChunk
Inherits TypedOpenXmlCompositeElement
继承
继承
属性

示例

以下示例演示如何使用 altChunk合并两个字处理文档。 该示例将文件 (source.docx) 的内容插入另一个文件 (Destination.docx) 。 运行示例后,检查文件的内容“Destination.docx”。 你会注意到,源文件的内容直接插入到最初位于文件中的文本之后。 另请注意,代码示例首先删除文件“Destination.docx”并创建一个新的文件。 这是为了避免多次运行代码时出现 ID 冲突。

using System.Linq;  
using System.IO;  
using DocumentFormat.OpenXml.Packaging;  
using DocumentFormat.OpenXml.Wordprocessing;  
namespace altChunk  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {            
            string fileName1 = @"c:\Users\Public\Documents\Destination.docx";  
            string fileName2 = @"c:\Users\Public\Documents\Source.docx";  
            string testFile = @"c:\Users\Public\Documents\Test.docx";  
            File.Delete(fileName1);  
            File.Copy(testFile, fileName1);  
            using (WordprocessingDocument myDoc =  
                WordprocessingDocument.Open(fileName1, true))  
            {  
                string altChunkId = "AltChunkId1";  
                MainDocumentPart mainPart = myDoc.MainDocumentPart;  
                AlternativeFormatImportPart chunk =   
                    mainPart.AddAlternativeFormatImportPart(  
                    AlternativeFormatImportPartType.WordprocessingML, altChunkId);  
                using (FileStream fileStream = File.Open(fileName2, FileMode.Open))  
                    chunk.FeedData(fileStream);  
                AltChunk altChunk = new AltChunk();  
                altChunk.Id = altChunkId;  
                mainPart.Document  
                    .Body  
                    .InsertAfter(altChunk, mainPart.Document.Body  
                    .Elements<Paragraph>().Last());  
                mainPart.Document.Save();  
            }             
        }  
    }  
}  
Imports System.Linq  
Imports System.IO  
Imports DocumentFormat.OpenXml.Packaging  
Imports DocumentFormat.OpenXml.Wordprocessing  

Module Module1  
    Sub Main(ByVal args As String())  
        Dim fileName1 As String = "c:\Users\Public\Documents\Destination.docx"  
        Dim fileName2 As String = "c:\Users\Public\Documents\Source.docx"  
        Dim testFile As String = "c:\Users\Public\Documents\Test.docx"  
        File.Delete(fileName1)  
        File.Copy(testFile, fileName1)  
        Using myDoc As WordprocessingDocument = WordprocessingDocument.Open(fileName1, True)  
            Dim altChunkId As String = "AltChunkId1"  
            Dim mainPart As MainDocumentPart = myDoc.MainDocumentPart  
            Dim chunk As AlternativeFormatImportPart = mainPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.WordprocessingML, altChunkId)  
            Using fileStream As FileStream = File.Open(fileName2, FileMode.Open)  
                chunk.FeedData(fileStream)  
            End Using  
            Dim altChunk As New AltChunk()  
            altChunk.Id = altChunkId  
            mainPart.Document.Body.InsertAfter(altChunk, mainPart.Document.Body.Elements(Of Paragraph)().Last())  
            mainPart.Document.Save()  
        End Using  
    End Sub  
End Module  

注解

[ISO/IEC 29500-1 第 1 版]

altChunk (导入的外部内容定位点)

此元素指定文档中的一个位置,用于插入包含要导入到 wordprocessingML 文档中main外部内容的指定文件的内容。 指定文件的内容应出现在文档中的指定位置,并且以后可以不区分其来源而作为常规 WordprocessingML 发出。 要导入的外部内容的位置应由 Id 属性与此元素上的 id 属性匹配的关系指定。

如果此元素指定的关系类型不是 http://schemas.openxmlformats.org/officeDocument/2006/afChunk、不存在或没有 TargetMode 属性值为 Internal,则文档应被视为不一致。 如果应用程序无法处理目标部件指定的内容类型的外部内容,则它应忽略指定的备用内容,但应继续处理该文件。 如果可能,它还应提供一些未导入未知内容的指示。

[示例:假设 WordprocessingML 文档包含必须从以下 HTML 文档导入的内容:

<html … >  
  <body style="margin-left:200px;margin-top:50px">  
    <p>Paragraph one.</p>  
    <blockquote style="border:5px solid #00FFFF">Paragraph in a blockquote.</blockquote>  
    <p>Paragraph two.</p>  
  </body>  
</html>  

生成的 WordprocessingML 主机文档将包含其自己的 WordprocessingML 内容以及位于相应位置的外部内容导入定位点:

<w:body>  
  <w:altChunk r:id="altChunk1" />  
  <w:p/>  
  <w:sectPr>  
    …  </w:sectPr>  
</w:body>  

altChunk 元素指定必须在文档开头导入 ID 为 altChunk1 的关系所面向的外部内容。 检查相应关系部分项的内容,可以看到该关系的目标:

<Relationships … >  
  …  <Relationship Id="altChunk1" TargetMode="Internal" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/afChunk" Target="import.htm" />  
  …</Relationships>  

相应的关系部件项显示要导入的文件位于main文档旁边,名为 import.htm示例结束]

父元素
body (§17.2.2) ;comment (§17.13.4.2) ;docPartBody (§17.12.6) ;endnote (§17.11.2) ;脚注 (§17.11.10) ;ftr (§17.10.3) ;hdr (§17.10.4) ;tc (§17.4.66)
子元素
altChunkPr (外部内容导入属性) §17.17.2.2

[注意:此元素的内容模型 (CT_AltChunk) 的 W3C XML 架构定义位于 §A.1 中。 注释结束]

ISO/IEC29500:2008。

构造函数

AltChunk()

初始化 AltChunk 类的新实例。

AltChunk(IEnumerable<OpenXmlElement>)

使用指定的子元素初始化 AltChunk 类的新实例。

AltChunk(OpenXmlElement[])

使用指定的子元素初始化 AltChunk 类的新实例。

AltChunk(String)

从外部 XML 初始化 AltChunk 类的新实例。

属性

AltChunkProperties

外部内容导入属性。

表示架构中的以下元素标记:w:altChunkPr。

ChildElements

获取当前元素的所有子节点。

(继承自 OpenXmlElement)
ExtendedAttributes

获取当前元素的架构) 中未定义的所有扩展属性 (属性。

(继承自 OpenXmlElement)
Features

IFeatureCollection获取当前元素的 。 此功能集合将是只读的,但会从其父部件和包继承功能(如果可用)。

(继承自 OpenXmlElement)
FirstChild

获取当前 OpenXmlElement 元素的第一个子元素。

(继承自 OpenXmlCompositeElement)
HasAttributes

获取一个值,该值指示当前元素是否具有任何属性。

(继承自 OpenXmlElement)
HasChildren

获取一个值,该值指示当前元素是否具有任何子元素。

(继承自 OpenXmlCompositeElement)
Id

与部件的关系

表示架构中的以下属性:r:id

InnerText

获取或设置当前节点及其所有子节点的串联值。

(继承自 OpenXmlCompositeElement)
InnerXml

获取或设置仅表示当前节点的子节点的标记。

(继承自 OpenXmlCompositeElement)
LastChild

获取当前 OpenXmlElement 元素的最后一个子元素。 如果没有这样的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlCompositeElement)
LocalName

定义 AltChunk 类。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 w:altChunk。

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)
AddChild(OpenXmlElement, Boolean)

如果指定元素是已知的子元素,则将其添加到 元素。 这会根据架构将 元素添加到正确的位置。

(继承自 OpenXmlCompositeElement)
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)

将指定的元素追加到当前元素的子节点列表的末尾。

(继承自 OpenXmlCompositeElement)
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)

在指定的引用元素之后立即插入指定的元素。

(继承自 OpenXmlCompositeElement)
InsertAfterSelf<T>(T)

在当前元素之后立即插入指定的元素。

(继承自 OpenXmlElement)
InsertAt<T>(T, Int32)

在当前元素的子元素的指定索引处插入指定的元素。

(继承自 OpenXmlCompositeElement)
InsertBefore<T>(T, OpenXmlElement)

将指定的元素紧接在指定的引用元素之前。

(继承自 OpenXmlCompositeElement)
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)

在当前元素的子节点列表的开头插入指定的元素。

(继承自 OpenXmlCompositeElement)
PreviousSibling()

获取紧接在当前 OpenXmlElement 元素之前的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic ) 中 Nothing。

(继承自 OpenXmlElement)
PreviousSibling<T>()

获取位于当前 OpenXmlElement 之前的指定类型的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
Remove()

从其父元素中删除当前元素。

(继承自 OpenXmlElement)
RemoveAllChildren()

删除当前元素的所有子元素。

(继承自 OpenXmlCompositeElement)
RemoveAllChildren<T>()

删除类型为 T 的当前元素的所有子元素。

(继承自 OpenXmlElement)
RemoveAnnotations(Type)

从当前 OpenXmlElement 元素中删除指定类型的注释。

(继承自 OpenXmlElement)
RemoveAnnotations<T>()

从当前 OpenXmlElement 元素中删除具有指定类型的批注。

(继承自 OpenXmlElement)
RemoveAttribute(String, String)

从当前元素中删除 属性。

(继承自 OpenXmlElement)
RemoveChild<T>(T)

删除指定的子元素。

(继承自 OpenXmlCompositeElement)
RemoveNamespaceDeclaration(String)

删除指定前缀的命名空间声明。 如果没有前缀,则不删除任何内容。

(继承自 OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T)

将当前元素的子元素之一替换为另一个 OpenXmlElement 元素。

(继承自 OpenXmlCompositeElement)
SetAttribute(OpenXmlAttribute)

将特性设置为指定的元素。 如果该属性是已知属性,则设置该特性的值。 如果该属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。

(继承自 OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>)

设置元素的多个属性。 如果属性是已知属性,则会设置该属性的值。 如果属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。

(继承自 OpenXmlElement)
WriteTo(XmlWriter)

将当前节点保存到指定的 XmlWriter。

(继承自 OpenXmlElement)

显式接口实现

IEnumerable.GetEnumerator()

定义 AltChunk 类。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 w:altChunk。

(继承自 OpenXmlElement)
IEnumerable<OpenXmlElement>.GetEnumerator()

返回循环访问子集合的枚举器。

(继承自 OpenXmlElement)

适用于