使用 powershell 在 openxml 中创建新行

Create a new line in openxml with powershell

提问人:jjk 提问时间:3/14/2017 更新时间:5/7/2017 访问量:123

问:

使用带有 openxml 的 powershell 我替换值并将结果输出为 .docx 文件。

我使用

[OpenXmlPowerTools.SearchAndReplacer]::SearchAndReplace($original,"John","Jane"+"<w:br/>",$false)

我得到了

Jane '<w:br/>' next character goes here

我期望

Jane  
next character goes here

有人看到我的错误吗?

PowerShell OpenXML

评论

0赞 Dan Field 3/14/2017
看起来正在对你的字符串进行一些消毒和更换 - 你有没有试过只是传入一个?OpenXmlPowerTools`r`n
0赞 jjk 3/14/2017
@DanField 感谢您的调查。在`r`nJane next character goes here

答:

1赞 Austin Drenski 5/6/2017 #1

OpenXML 中的换行符是运行节点的子节点和文本节点的同级节点。

您传入了正确的 XML 节点以进行中断,但它入到文本节点中,而不是添加到运行节点中。

例如

<w:p>
    <w:r>
        <w:t>
            Jane '<w:br/>' next text goes here
        <w:t/>
    <w:r/>
<w:p/>

而不是:

<w:p>
    <w:r>
        <w:t>
            Jane
        <w:t/>
        <w:br/>
        <w:t>
            next text goes here
        <w:t/>
    <w:r/>
<w:p/>