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" и создает новый. Это позволяет избежать конфликта идентификаторов при выполнении кода более одного раза.
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 указывает, что внешнее содержимое, на которое нацелена связь с идентификатором 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); концевая сноска (§17.11.2); сноска (§17.11.10); ftr (§17.10.3); hdr (§17.10.4); tc (§17.4.66) |
Дочерние элементы | Вложенные запросы |
---|---|
altChunkPr (свойства импорта внешнего содержимого) | §17.17.2.2 |
[Примечание. Определение xml-схемы W3C для модели содержимого этого элемента (CT_AltChunk) находится в §A.1. конечная заметка]
ISO/IEC29500: 2008.
Конструкторы
AltChunk() |
Инициализирует новый экземпляр класса AltChunk. |
AltChunk(IEnumerable<OpenXmlElement>) |
Инициализирует новый экземпляр класса AltChunk указанными дочерними элементами. |
AltChunk(OpenXmlElement[]) |
Инициализирует новый экземпляр класса AltChunk указанными дочерними элементами. |
AltChunk(String) |
Инициализирует новый экземпляр класса AltChunk из внешнего XML-кода. |
Свойства
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. Возвращает значение NULL (Nothing в Visual Basic), если такого элемента OpenXmlElement нет. (Унаследовано от 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) |
Возвращает атрибут Open XML с указанным именем тега и URI пространства имен. (Унаследовано от 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. Возвращает значение NULL (Nothing в Visual Basic), если нет следующего элемента OpenXmlElement. (Унаследовано от OpenXmlElement) |
NextSibling<T>() |
Возвращает элемент OpenXmlElement с указанным типом, который следует за текущим элементом OpenXmlElement. Возвращает значение NULL (Nothing в Visual Basic), если нет следующего OpenXmlElement. (Унаследовано от OpenXmlElement) |
PrependChild<T>(T) |
Вставляет указанный элемент в начало списка дочерних узлов текущего элемента. (Унаследовано от OpenXmlCompositeElement) |
PreviousSibling() |
Возвращает элемент OpenXmlElement, который непосредственно предшествует текущему элементу OpenXmlElement. Возвращает значение NULL (Nothing в Visual Basic), если нет предыдущего элемента OpenXmlElement. (Унаследовано от OpenXmlElement) |
PreviousSibling<T>() |
Возвращает элемент OpenXmlElement с указанным типом, который предшествует текущему объекту OpenXmlElement. Возвращает значение NULL (Nothing в Visual Basic), если нет предыдущего элемента OpenXmlElement. (Унаследовано от 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) |