public void Bug225919Test() { string propertiesXml = "<ap:Properties xmlns:ap=\"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties\">" + "<ap:TitlesOfParts>" + "<vt:vector baseType=\"lpstr\" size=\"1\" xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\">" + "<vt:lpstr />" + "</vt:vector>" + "</ap:TitlesOfParts>" + "</ap:Properties>"; var properties = new DocumentFormat.OpenXml.ExtendedProperties.Properties(); var property = properties.AppendChild(new DocumentFormat.OpenXml.ExtendedProperties.TitlesOfParts()); property.VTVector = new DocumentFormat.OpenXml.VariantTypes.VTVector(); property.VTVector.BaseType = DocumentFormat.OpenXml.VariantTypes.VectorBaseValues.Lpstr; property.VTVector.Size = 1; property.VTVector.AppendChild(new DocumentFormat.OpenXml.VariantTypes.VTLPSTR()); Assert.Equal(propertiesXml, properties.OuterXml); propertiesXml = "<op:Properties xmlns:op=\"http://schemas.openxmlformats.org/officeDocument/2006/custom-properties\">" + "<op:property fmtid=\"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}\" pid=\"2\" name=\"crap\">" + "<vt:bool xmlns:vt=\"http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes\">true</vt:bool>" + "</op:property>" + "</op:Properties>"; var customProperties = new DocumentFormat.OpenXml.CustomProperties.Properties(); var foo = new DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty(); foo.Name = "crap"; // format id is required, i copied this from a Word document. foo.FormatId = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}"; // property id is required. foo.PropertyId = 2; foo.VTBool = new DocumentFormat.OpenXml.VariantTypes.VTBool("true"); customProperties.AppendChild(foo); Assert.Equal(propertiesXml, customProperties.OuterXml); var clone = customProperties.CloneNode(true); Assert.Equal(0, clone.GetAttributes().Count); Assert.Equal(propertiesXml, clone.OuterXml); }
public static void GenerateCustomFilePropertiesPart1Content(CustomFilePropertiesPart customFilePropertiesPart1) { var properties2 = new DocumentFormat.OpenXml.CustomProperties.Properties(); properties2.AddNamespaceDeclaration("vt", "http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"); var customDocumentProperty1 = new DocumentFormat.OpenXml.CustomProperties.CustomDocumentProperty() { FormatId = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}", PropertyId = 2, Name = "ContentTypeId" }; var vTLPWSTR1 = new DocumentFormat.OpenXml.VariantTypes.VTLPWSTR { Text = "0x0101004B3CC135CC07AD41A19C6A3D7A557156" }; customDocumentProperty1.Append(vTLPWSTR1); properties2.Append(customDocumentProperty1); customFilePropertiesPart1.Properties = properties2; }