我手工制作document.xml以生成word文档。我有一个要求,我必须添加自定义标记和一些自定义标记属性,这些属性将在保存word文档时保留。
以下是我的document.xml
的摘录<w:p>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:szCs w:val="20"/>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t xml:space="preserve">Default list</w:t>
</w:r>
</w:p>
<w:p/>
<w:p>
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
<w:numFmt w:val="defaultBullet"/>
<w:ind w:left="720"/>
</w:pPr>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:szCs w:val="20"/>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t xml:space="preserve">Default 1</w:t>
</w:r>
</w:p>
<w:p>
<w:pPr>
<w:numPr>
<w:ilvl w:val="0"/>
<w:numId w:val="1"/>
</w:numPr>
<w:numFmt w:val="defaultBullet"/>
<w:ind w:left="720"/>
</w:pPr>
<w:r>
<w:rPr>
<w:sz w:val="20"/>
<w:szCs w:val="20"/>
<w:rFonts w:ascii="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/>
</w:rPr>
<w:t xml:space="preserve">Default 2</w:t>
</w:r>
</w:p>
我尝试使用<w:customXml>
和<w:customXmlPr>
包装默认1和默认2段落,如下例所示:
https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.customxmlattribute(v=office.15).aspx
我也尝试过smartTag。使用所有这些标签,Word文档生成正常,内容正确。但是当我进行更改并保存文档并打开document.xml的内容时,标签就消失了。请帮我识别保存word文档时不会被删除的标签。
答案 0 :(得分:1)
微软在专栏中使用自定义xml丢失了专利案例 - 检查 - https://redmondmag.com/articles/2009/08/12/court-tells-microsoft-to-stop-selling-word-in-us.aspx
因此,无法以您想要的方式使用自定义xml。您最好的选择是使用内容控件。查看Eric White's answer(archived link)了解可用选项。