AltChunk 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
定义 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) |