Partager via


The Source Open XML Document

[Blog Map]  [Table of Contents]  [Next Topic]

This blog is inactive.
New blog: EricWhite.com/blog

Blog TOCAttached to this page is the source Open XML word document that contains the paragraphs styled as Code.

The document looks like this:

Following is the XML for the main document part.  You can see the body of the document, the paragraphs (w:p) with their style information, text runs (w:r) that may have formatting information, and text pieces (w:t) that contain the actual text of the paragraph.  You can see the w:commentRangeStart and w:commentRangeEnd elements that indicate the position of the comment, along with the comment id.  There is other stuff in there, including elements that indicate proofing errors, etc.  We don't care about those.

The main document part of this document looks something like this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="https://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:r="https://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:m="https://schemas.openxmlformats.org/officeDocument/2006/math"
xmlns:v="urn:schemas-microsoft-com:vml"
xmlns:wp="https://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
xmlns:w10="urn:schemas-microsoft-com:office:word"
xmlns:w="https://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:wne="https://schemas.microsoft.com/office/word/2006/wordml">
<w:body>
<w:p>
<w:pPr>
<w:pStyle w:val="Heading1"/>
</w:pPr>
<w:r>
<w:t xml:space="preserve">Parsing </w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:t>WordprocessingML</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r>
<w:t xml:space="preserve"> with LINQ to XML</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t>The following example prints to the console.</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:commentRangeStart w:id="0"/>
<w:proofErr w:type="gramStart"/>
<w:r>
<w:t>using</w:t>
</w:r>
<w:proofErr w:type="gramEnd"/>
<w:r>
<w:t xml:space="preserve"> </w:t>
</w:r>
<w:commentRangeEnd w:id="0"/>
<w:r>
<w:rPr>
<w:rStyle w:val="CommentReference"/>
<w:rFonts w:asciiTheme="minorHAnsi"
w:hAnsiTheme="minorHAnsi"/>
</w:rPr>
<w:commentReference w:id="0"/>
</w:r>
<w:r>
<w:t>System;</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:proofErr w:type="gramStart"/>
<w:r>
<w:t>class</w:t>
</w:r>
<w:proofErr w:type="gramEnd"/>
<w:r>
<w:t xml:space="preserve"> Program {</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:r>
<w:t xml:space="preserve"> </w:t>
</w:r>
<w:proofErr w:type="gramStart"/>
<w:r>
<w:t>public</w:t>
</w:r>
<w:proofErr w:type="gramEnd"/>
<w:r>
<w:t xml:space="preserve"> static void Main(string[] </w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:r>
<w:t>args</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r>
<w:t>) {</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:r>
<w:t xml:space="preserve"> </w:t>
</w:r>
<w:proofErr w:type="spellStart"/>
<w:proofErr w:type="gramStart"/>
<w:r>
<w:t>Console.WriteLine</w:t>
</w:r>
<w:proofErr w:type="spellEnd"/>
<w:r>
<w:t>(</w:t>
</w:r>
<w:proofErr w:type="gramEnd"/>
<w:r>
<w:t>"Hello World");</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:r>
<w:t xml:space="preserve"> }</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:r>
<w:t>}</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
</w:p>
<w:p>
<w:r>
<w:t>This example produces the following output:</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:pStyle w:val="Code"/>
</w:pPr>
<w:commentRangeStart w:id="1"/>
<w:r>
<w:t xml:space="preserve">Hello </w:t>
</w:r>
<w:commentRangeEnd w:id="1"/>
<w:r>
<w:rPr>
<w:rStyle w:val="CommentReference"/>
<w:rFonts w:asciiTheme="minorHAnsi"
w:hAnsiTheme="minorHAnsi"/>
</w:rPr>
<w:commentReference w:id="1"/>
</w:r>
<w:r>
<w:t>World</w:t>
</w:r>
</w:p>
<w:sectPr>
<w:pgSz w:w="12240"
w:h="15840"/>
<w:pgMar w:top="1440"
w:right="1440"
w:bottom="1440"
w:left="1440"
w:header="720"
w:footer="720"
w:gutter="0"/>
<w:cols w:space="720"/>
<w:docGrid w:linePitch="360"/>
</w:sectPr>
</w:body>
</w:document>

[Blog Map]  [Table of Contents]  [Next Topic]

SampleDoc.docx