public void WriterWithNsTest() { using (var memStream = new MemoryStream()) { using (var target = new OpenXmlPartWriter(memStream)) { target.WriteStartDocument(); target.WriteStartElement(new Document()); target.WriteStartElement(new Body(), new List <OpenXmlAttribute>() { new OpenXmlAttribute("a:a", "http://aa", "ab") }); target.WriteStartElement(new Paragraph(), null, null); target.WriteEndElement(); var ns = new List <KeyValuePair <string, string> >(); var item = new KeyValuePair <string, string>("b", "http://aaa"); ns.Add(item); target.WriteStartElement(new Table(), null, ns); target.WriteEndElement(); target.WriteEndElement(); target.WriteEndElement(); target.Close(); } memStream.Flush(); memStream.Seek(0, SeekOrigin.Begin); using (var reader = new OpenXmlPartReader(memStream)) { //<w:document> reader.Read(); Assert.Single(reader.NamespaceDeclarations); //<w:body> reader.Read(); Assert.Single(reader.NamespaceDeclarations); //<w:p> reader.ReadFirstChild(); Assert.EndsWith("Paragraph", reader.ElementType.Name); Assert.Empty(reader.NamespaceDeclarations); //<w:p> reader.ReadNextSibling(); Assert.EndsWith("Table", reader.ElementType.Name); Assert.Single(reader.NamespaceDeclarations); } } }
public void WriteStringTest() { using (var memStream = new MemoryStream()) using (OpenXmlPartWriter target = new OpenXmlPartWriter(memStream)) { string text = "abc"; target.WriteStartDocument(); target.WriteStartElement(new Run()); target.WriteStartElement(new Text()); target.WriteString(text); target.WriteEndElement(); var textElement = new Text(); textElement.Space = new EnumValue <SpaceProcessingModeValues>(); textElement.Space.Value = SpaceProcessingModeValues.Preserve; target.WriteStartElement(new Text(), textElement.GetAttributes()); target.WriteString(text); target.WriteString(text); target.WriteEndElement(); var run = new Run(new Text("111"), new Text("222")); using (var reader = OpenXmlReader.Create(run)) { reader.Read(); reader.Read(); target.WriteStartElement(reader); target.WriteString(reader.GetText()); reader.Read(); target.WriteEndElement(); reader.Read(); target.WriteStartElement(reader, textElement.GetAttributes()); target.WriteString(reader.GetText()); target.WriteString(text); reader.Read(); target.WriteEndElement(); reader.Close(); } target.Close(); } }
public void WriteStringExceptionTest6() { using (var memStream = new MemoryStream()) using (OpenXmlPartWriter target = new OpenXmlPartWriter(memStream)) { string text = "abc"; target.WriteStartDocument(); target.WriteStartElement(new Run()); var textElement = new Text(); textElement.Space = SpaceProcessingModeValues.Preserve; target.WriteStartElement(new RunProperties(), textElement.GetAttributes()); target.WriteEndElement(); target.Close(); Assert.Throws <System.InvalidOperationException>(() => { target.WriteString(text); // exception }); } }