AltChunk Класс

Определение

Определяет класс AltChunk. Если объект сериализуется как XML, его полное имя — В:алтчунк.

[DocumentFormat.OpenXml.ChildElementInfo(typeof(DocumentFormat.OpenXml.Wordprocessing.AltChunkProperties))]
public class AltChunk : DocumentFormat.OpenXml.OpenXmlCompositeElement
type AltChunk = class
    inherit OpenXmlCompositeElement
Public Class AltChunk
Inherits OpenXmlCompositeElement
Наследование
Атрибуты

Примеры

В приведенном ниже примере показано, как объединить два текстовых документа с 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. Содержимое указанного файла должно отображаться в указанном расположении в документе, и его можно хенцефорс как обычный 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>  

Соответствующий элемент части связи показывает, что импортируемый файл располагается рядом с основным документом и называется import. htm. конец примера

Родительские элементы
Body (§ 17.2.2); Comment (§ 17.13.4.2); Докпартбоди (§ 17.12.6); Концевая сноска (§ 17.11.2); Сноска (§ 17.11.10); ФТР (§ 17.10.3); Загол (§ 17.10.4); TC (§ 17.4.66)
Дочерние элементы Вложенное предложение
Алтчункпр (свойства импорта внешнего контента) § 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

Свойства импорта внешнего контента. Представляет следующий тег element в схеме: В:алтчункпр

ChildElements

Получает все детские узлы текущего элемента.

(Унаследовано от OpenXmlElement)
ExtendedAttributes

Получает все расширенные атрибуты (атрибуты, не определенные в схеме) текущего элемента.

(Унаследовано от OpenXmlElement)
FirstChild

Получает первый ребенок текущего элемента OpenXmlElement.

(Унаследовано от OpenXmlCompositeElement)
HasAttributes

Получает значение boolean, которое указывает, имеет ли текущий элемент какие-либо атрибуты.

(Унаследовано от OpenXmlElement)
HasChildren

Получает значение, которое указывает, есть ли в текущем элементе какие-либо детские элементы.

(Унаследовано от OpenXmlCompositeElement)
Id

Отношение к части. представляет следующий атрибут в схеме: р:ИД

InnerText

Получает или задает одновременно значения текущего узла и всех его детей.

(Унаследовано от OpenXmlCompositeElement)
InnerXml

Получает или задает разметку, которая представляет только детские узлы текущего узла.

(Унаследовано от OpenXmlCompositeElement)
LastChild

Получает последний ребенок текущего элемента OpenXmlElement. Возвращает null (Ничего в Visual Basic), если нет такого элемента OpenXmlElement.

(Унаследовано от OpenXmlCompositeElement)
LocalName

Получает локальное имя элемента.

MCAttributes

Задает атрибуты совместимости разметки. Возвращает null, если для текущего элемента не определены атрибуты совместимости разметки.

(Унаследовано от OpenXmlElement)
NamespaceDeclarations

Получает все объявления пространства имен, определенные в текущем элементе. Возвращает пустой переуметор, если нет объявления пространства имен.

(Унаследовано от OpenXmlElement)
NamespaceUri

Получает URI пространства имен текущего элемента.

(Унаследовано от OpenXmlElement)
OpenXmlElementContext

Получает OpenXmlEementContext текущего элемента.

(Унаследовано от 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)

Придает указанный элемент в конец списка детских узлов текущего элемента.

(Унаследовано от OpenXmlCompositeElement)
ClearAllAttributes()

Очищает все атрибуты, включая как известные атрибуты, так и расширенные атрибуты.

(Унаследовано от OpenXmlElement)
Clone()

Создает дубликат текущего узла.

(Унаследовано от OpenXmlElement)
CloneNode(Boolean)

Создает дубликат этого узла.

Descendants()

В этом переумехе ого задают все потомки текущего элемента.

(Унаследовано от OpenXmlElement)
Descendants<T>()

Введите все потомки текущего элемента типа T.

(Унаследовано от OpenXmlElement)
Elements()

В этом переумехе 1000 000 000 000 000 000 000 000 00

(Унаследовано от 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 (Ничего в Visual Basic), если нет следующего элемента OpenXmlElement.

(Унаследовано от OpenXmlElement)
NextSibling<T>()

Получает элемент OpenXmlElement с указанным типом, который следует текущему элементу OpenXmlElement. Возвращает null (Ничего в Visual Basic), если нет следующего OpenXmlElement.

(Унаследовано от OpenXmlElement)
PrependChild<T>(T)

Вставляет указанный элемент в начале списка детских узлов текущего элемента.

(Унаследовано от OpenXmlCompositeElement)
PreviousSibling()

Получает элемент OpenXmlElement, который сразу же предшествует текущему элементу OpenXmlElement. Возвращает null (Ничего в Visual Basic), если нет предыдущего элемента OpenXmlElement.

(Унаследовано от OpenXmlElement)
PreviousSibling<T>()

Получает элемент OpenXmlElement с указанным типом, предшествующим текущему OpenXmlElement. Возвращает null (Ничего в 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() (Унаследовано от OpenXmlElement)

Применяется к