openXmlSdk 在运行元素内插入新行

2024-03-13

我里面有文字Run元素。我正在尝试更换\r在字符串中带有line break.

正文如下

This is an example project for testing purposes. \rThis is all sample data, none of this is real information. \r\rThis field allows for the entry of more information, a larger text field for example purposes

and the innerXml of the Run元素被翻译成

<w:rPr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
   <w:rFonts w:cstheme="minorHAnsi" />
      </w:rPr>
        <w:t xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
           This is an example project for testing purposes.  This is all sample data, none of this is real information.&lt;w:br /&gt;&lt;w:br /&gt;This field allows for the entry of more information, a larger text field for example purposes.</w:t>

生成文档时不会插入换行符。

我怎样才能替换里面的每个'\r'<w:t> </w:t>有换行符吗?

我试过了。

s.InnerXml = s.InnerXml.Replace("&lt;w:br /&gt;", "<w:br />");

我也尝试过直接在字符串中替换它,但这也不起作用。

它只是以字符串形式出现

This is an example project for testing purposes.  This is all sample data, none of this is real information.<w:br xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" /><w:br xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" />This field allows for the entry of more information, a larger text field for example purposes.

文档 https://msdn.microsoft.com/en-us/library/office/documentformat.openxml.wordprocessing.text.aspx#Anchor_2指出一个Text元素包含文字。 SDK 不会对您写入的字符串中的换行符做出假设Text元素。它怎么知道你是否想要休息一下或者是否想要一个段落?

如果您从文字字符串构建文档,您将需要做一些工作:

using DocumentFormat.OpenXml;
using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing;

namespace OXmlTest
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var wordDocument = WordprocessingDocument
                .Create("c:\\deleteme\\testdoc.docx", WordprocessingDocumentType.Document))
            {
                MainDocumentPart mainPart = wordDocument.AddMainDocumentPart();

                mainPart.Document = new Document();
                Body body = mainPart.Document.AppendChild(new Body());
                Paragraph p = body.AppendChild(new Paragraph());                
                Run r = p.AppendChild(new Run());

                string theString = "This is an example project for testing purposes. \rThis is all sample data, none of this is real information. \r\rThis field allows for the entry of more information, a larger text field for example purposes";

                foreach (string s in theString.Split(new char[] { '\r' }))
                {
                    r.AppendChild(new Text(s));
                    r.AppendChild(new Break());
                }

                wordDocument.Save();
            }
        }
    }
}
<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
    <w:body>
        <w:p>
            <w:r>
                <w:t>This is an example project for testing purposes. </w:t>
                <w:br />
                <w:t>This is all sample data, none of this is real information. </w:t>
                <w:br />
                <w:t/>
                <w:br />
                <w:t>This field allows for the entry of more information, a larger text field for example purposes</w:t>
                <w:br />
            </w:r>
        </w:p>
    </w:body>
</w:document>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openXmlSdk 在运行元素内插入新行 的相关文章

  • DispatcherTimer 未按时执行

    我正在使用 c 中的 DispatchTimer 编写一个时钟应用程序 但由于某些原因 我的时钟似乎时不时地跳过 1 秒 例如 52 秒 gt 54 秒 跳过 53 秒 在我看来 计时器并不是每秒都执行一次 DispatcherTimer
  • 没有 Unicode 字节顺序标记。无法切换到 Unicode

    我正在使用 XSD 编写 XML 验证器 下面是我所做的 但是当验证器到达该线时while list Read 它给了我错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 有人可以帮我解决吗 public class Va
  • 检查列表是否包含另一个列表。 C#

    编辑 只是说 ContainsAllItem 中的注释解释得最好 很抱歉问这个问题 我知道以前有人问过这个问题 但我只是不明白 好的 所以我想检查一个列表是否包含另一个列表中的所有项目WITHOUT重叠 以及根据类字符串 名称变量 称为项目
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 返回 int& 的函数[重复]

    这个问题在这里已经有答案了 我在网上查了一下发现一篇试图解释的文章std move和右值 http thbecker net articles rvalue references section 01 html并发现了一些我实在无法掌握的东
  • 关闭 XDOCUMENT 的实例

    我收到这个错误 该进程无法访问文件 C test Person xml 因为它是 被另一个进程使用 IOException 未处理 保存文件内容后如何关闭 xml 文件的实例 using System using System Collec
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • 为什么假设 send 可能返回的数据少于在阻塞套接字上传输的请求数据?

    在流套接字上发送数据的标准方法始终是调用 send 并写入一大块数据 检查返回值以查看是否发送了所有数据 然后再次调用 send 直到整个消息被接受 例如 这是一个常见方案的简单示例 int send all int sock unsign
  • 将 C# 反射代码移植到 Metro-Ui

    我正在尝试移植使用反射的现有 C 类 通用工厂 但我无法编译这段代码 Type types Assembly GetAssembly typeof TProduct GetTypes foreach Type type in types i
  • C 中的模仿函数重写

    具体来说 函数重写能够调用基本重写方法 这有两部分 一个是预编译的库代码 1 另一个是库的用户代码 2 我在这里实现了一个尽可能最小的经典 Person 和 Employee 示例 非常感谢了解 OOP 概念的铁杆 C 开发人员的回应 我正
  • 使用反射获取基类的受保护属性值

    I would like to know if it is possible to access the value of the ConfigurationId property which is located in the base
  • 特定设备的不同字体大小

    我目前正在开发通用应用程序 我需要分别处理移动设备和桌面的文本框字体大小 我找到了一些方法 但都不能解决问题 使用 VisualStateManager 和 StateTrigger 为例
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 使用 openssl 检查服务器安全协议

    我有一个框架应用程序 它根据使用方式连接到不同的服务器 对于 https 连接 使用 openssl 我的问题是 我需要知道我连接的服务器是否使用 SSL 还是 TLS 以便我可以创建正确的 SSL 上下文 目前 如果我使用错误的上下文尝试
  • 抽象类或接口。哪种方式是正确的?

    有两种方法可以选择抽象类或接口 微软解决方案和Oracle解决方案 微软 设计指南 请使用抽象 在 Visual Basic 中为 MustInherit 类而不是接口来将协定与实现分离 http msdn microsoft com en
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 如何从函数返回矩阵(二维数组)? (C)

    我创建了一个生成宾果板的函数 我想返回宾果板 正如我没想到的那样 它不起作用 这是函数 int generateBoard int board N M i j fillNum Boolean exists True initilize se

随机推荐

  • Rails simple_form label_html

    我想覆盖一种表单上的输入与其标签之间的边距 可以通过 label html gt 来完成吗 github 上的示例显示了 class gt special 被传递 我需要在 css 文件中设置一些内容吗 如果是这样 我该怎么做 也就是说 我
  • 如何从仅一个月前的Firestore中获取文档

    我正在执行查询以仅获取 1 个月前的文档 我存储文档本身的创建时间 timestamp 9 Apr 2020 10 03 43 AM 现在 在我的查询中 我想获取当月的所有文档 但我不想使用客户端的 currentDate 因此无法更改 但
  • C# 是否支持绑定方法或方法闭包(特殊闭包允许 this 始终指向实例)

    Adobe有非常明确的解释here http help adobe com en US ActionScript 3 0 ProgrammingAS3 WS5b3ccc516d4fbf351e63e3d118a9b90204 7f30 ht
  • JS DOM createElements 和appendChild 不起作用

    我正在尝试创建一个包含一些学生信息的网站 因此 我需要创建动态配置文件卡并将它们附加到正文中 但 DOM 总是让我着迷 function student src name this src src this name name var st
  • 具有两种纯色的矩形形状

    我想创建一个具有两种纯色 水平 的矩形形状以实现如下所示 我听说过layer list 我虽然可以用它来包含两个不同颜色的矩形 但它似乎只能垂直放置形状 有没有办法使用 lalyer list 来实现这一点 或者我应该使用完全不同的东西 我
  • iPad 标题栏。导航栏还是工具栏?

    我看到很多 iPad 应用程序都有很酷的标题栏 这些似乎是导航栏和工具栏的组合 它们通常有一个后退按钮和一个标题以及其他按钮 导航栏仅支持左侧项目 右侧项目和标题视图 而且工具栏并不真正支持后退按钮或标题 那么 如何在 UINavigati
  • java servlet 中出现令人惊讶的结果

    我在 java servlet 中得到了令人惊讶的结果 我将输入参数 日期 从 jsp 传递到 servlet 如下所示
  • 由于文件路径中有特殊字符,OpenCv imwrite 不起作用

    当文件路径具有特殊字符 例如 时 我无法保存图像 这是来自 Python 3 shell 的测试 gt gt gt cv2 imwrite gel test jpg frame True gt gt gt cv2 imwrite gel t
  • 如何在 C 中打印“off_t”? [复制]

    这个问题在这里已经有答案了 可能的重复 我应该如何打印像off t和size t这样的类型 https stackoverflow com questions 586928 how should i print types like off
  • 如何告诉 git 显示我在上次提交中所做的更改的差异? [复制]

    这个问题在这里已经有答案了 With git 如何查看上次提交的更改 我的意思是我想看到我的最后一次提交和之前的提交之间的差异 我知道我可以在 Github 浏览器上看到它 但我想在终端上的本地提交历史记录中看到它 我知道我可以在提交之间进
  • 无法为 android 中的微调器设置 OnItemClickListener

    在定制的RecyclerView Adapter
  • 如何生成随机概率分布 julia

    我在字典中有一个键列表 我想为每个项目分配一个 0 到 1 之间的数字 使分配的数字总和为 1 如何做到这一点 我尝试使用 rand 进行一些操作 但没有成功 有什么建议么 更数学的答案是使用狄利克雷分布 https en wikipedi
  • 类组件的 useEffect 替代品

    我刚刚了解到在功能组件中我可以使用useEffect留意任何副作用 例如 使用时localStorage 这确保我的状态与效果挂钩 我想在我的基于类的组件中具有类似的功能localStorage 我怎样才能确保我的状态在发生任何变化时立即更
  • 从 Java 应用程序即时打开 PDF 文件

    有没有办法让代码以独立于平台的方式在Java应用程序中打开PDF文件 我的意思是在 Windows 中使用批处理文件可以做到这一点 有没有其他方法可以使用独立于平台的代码来动态打开 PDF 文件 I d try Desktop open F
  • 使用 Linq + Include 排序

    我与两个实体有一对多关系 Order int OrderId string OrderNumber OrderItem int ItemId int sequence Product int ProductId string Product
  • 使用带有 SL 和 TP 的 CCXT 使用 Python 在 FTX 上创建市场订单

    有人有如何创建带有止盈和止损的市价订单的示例吗 我已经阅读了文档 因为这是我第一次做这样的事情 所以我真的不明白 我正在尝试创建一个 API 端点 该端点接收来自 TradingView 的警报并下订单 我真的不想使用限价订单 因为我只想以
  • Oracle - 带有可选参数的索引使用

    我使用以下技巧来索引具有一些空值的列 create index xx people idx1 on xx people id number 1 这很好用 遗憾的是 当您使用可选参数时 这并没有帮助 select from xx people
  • Autofixture构造函数注入延迟加载

    我在单元测试中使用自动装置 它作为自动模拟器的工作方式非常棒 但是 当我将延迟加载的对象注入到我的类中时 我遇到了问题 例如 public class MyClass IMyClass private Lazy
  • Facebook“点赞”会产生“更新页面时出现内部错误”。

    几个月前 我在我的博客中添加了一个 赞 按钮 一切运行良好 今天早上我突然添加了一篇新帖子 不知出于什么原因 点赞按钮现在坏了 每次我点击 喜欢 时 我都会收到此错误 There was an internal error when upd
  • openXmlSdk 在运行元素内插入新行

    我里面有文字Run元素 我正在尝试更换 r在字符串中带有line break 正文如下 This is an example project for testing purposes rThis is all sample data non