XDocument 文本节点换行

2024-02-10

我正在尝试使用以下命令将换行符插入文本节点XText来自 Linq XML 命名空间。

我有一个包含换行符的字符串,但是我需要弄清楚如何将它们转换为实体字符(即
) 而不是仅仅让它们作为新行出现在 XML 中。

XElement element = new XElement( "NodeName" );
...

string example = "This is a string\nWith new lines in it\n";

element.Add( new XText( example ) );

The XElement然后使用写出XmlTextWriter这会导致文件包含换行符而不是实体替换。

有没有人遇到过这个问题并找到解决方案?


EDIT:

当我将 XML 加载到 EXCEL 中时,问题就显现出来了,EXCEL 似乎不喜欢换行符,但接受实体替换。结果是换行符不会显示在 EXCEL 中,除非我将其替换为


Nick.


作弊:

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        settings.CheckCharacters = false;
        settings.NewLineChars = "
";
        XmlWriter writer = XmlWriter.Create(..., settings);
        element.WriteTo(writer);
        writer.Flush();

UPDATE:

完整的程序

using System;
using System.Xml;
using System.Xml.Linq;


namespace ConsoleApplication1
{
class Program
{
    static void Main(string[] args)
    {
        XElement element = new XElement( "NodeName" );
        string example = "This is a string\nWith new lines in it\n";
        element.Add( new XText( example ) );

        XmlWriterSettings settings = new XmlWriterSettings();
        settings.Indent = true;
        settings.CheckCharacters = false;
        settings.NewLineChars = "
";
        XmlWriter writer = XmlWriter.Create(Console.Out, settings);
        element.WriteTo(writer);
        writer.Flush();
    }
}
}

OUTPUT:

C:\Users\...\\ConsoleApplication1\bin\Release>ConsoleApplication1.exe
<?xml version="1.0" encoding="ibm850"?>&#10;<NodeName>This is a string&#10;With new lines in it&#10;</NodeName>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XDocument 文本节点换行 的相关文章

  • 进程何时获得 SIGABRT(信号 6)?

    C 中进程获得 SIGABRT 的场景有哪些 该信号是否始终来自进程内部 或者该信号可以从一个进程发送到另一个进程吗 有没有办法识别哪个进程正在发送该信号 abort 向调用进程发送SIGABRT信号 就是这样abort 基本上有效 abo
  • ASP.NET MVC 中的经典 ASP (C#)

    我有一个应用程序想要 最终 转换为 ASP NET MVC 我想要进行全面的服务升级 到 ASP NET 但想要使用当前的 ASP 内容来运行当前的功能 这样我就可以在对新框架进行增量升级的同时升级小部分 该站点严重依赖于不太成熟的 VB6
  • 为什么我不能用 `= delete;` 声明纯虚函数?

    Intro 纯虚函数使用通用语法声明 virtual f 0 然而 自 c 11 以来 有一种方法可以显式地传达non existence 特殊 成员函数的 Mystruct delete eg default constructor Q
  • 如何在 Android NDK 中创建新的 NativeWindow 而无需 Android 操作系统源代码?

    我想编译一个 Android OpenGL 控制台应用程序 您可以直接从控制台启动 Android x86 运行 或者从 Android x86 GUI 内的 Android 终端应用程序运行 这个帖子 如何在 Android NDK 中创
  • 为什么要序列化对象需要 Serialized 属性

    根据我的理解 SerializedAttribute 不提供编译时检查 因为它都是在运行时完成的 如果是这样 那么为什么需要将类标记为可序列化呢 难道序列化器不能尝试序列化一个对象然后失败吗 这不就是它现在所做的吗 当某些东西被标记时 它会
  • 构造函数中显式关键字的使用

    我试图了解 C 中显式关键字的用法 并查看了这个问题C 中的explicit关键字是什么意思 https stackoverflow com questions 121162 但是 那里列出的示例 实际上是前两个答案 对于用法并不是很清楚
  • 访问者和模板化虚拟方法

    在一个典型的实现中Visitor模式 该类必须考虑基类的所有变体 后代 在许多情况下 访问者中的相同方法内容应用于不同的方法 在这种情况下 模板化的虚拟方法是理想的选择 但目前这是不允许的 那么 模板化方法可以用来解析父类的虚方法吗 鉴于
  • ASP MVC:服务应该返回 IQueryable 的吗?

    你怎么认为 你的 DAO 应该返回一个 IQueryable 以便在你的控制器中使用它吗 不 您的控制器根本不应该处理任何复杂的逻辑 保持苗条身材 模型 而不是 DAO 应该将控制器返回给视图所需的所有内容 我认为在控制器类中看到查询 甚至
  • C 语言中 =+(等于加)是什么意思?

    我碰到 与标准相反 今天在一些 C 代码中 我不太确定这里发生了什么 我在文档中也找不到它 In ancientC 版本 相当于 它的残余物与最早的恐龙骨头一起被发现 例如 B 引入了广义赋值运算符 使用x y to add y to x
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 在非活动联合成员上使用“std::addressof”是否定义明确[重复]

    这个问题在这里已经有答案了 下面的代码是尝试实现constexpr的版本offsetof在 C 11 中 它可以在 gcc 7 2 0 和 clang 5 0 0 中编译 这取决于申请std addressof工会非活跃成员的成员 这是明确
  • Azure 事件中心 - 按顺序接收事件

    我使用下面的代码从 Azure Event Hub 接收事件 https learn microsoft com en us azure event hubs event hubs dotnet framework getstarted s
  • 为什么我不应该对不是由 malloc() 分配的变量调用 free() ?

    我在某处读到 使用它是灾难性的free删除不是通过调用创建的对象malloc 这是真的 为什么 这是未定义的行为 永远不要尝试它 让我们看看当您尝试时会发生什么free 自动变量 堆管理器必须推断出如何获取内存块的所有权 为此 它要么必须使
  • 通过 NHibernate 进行查询,无需 N+1 - 包含示例

    我有一个 N 1 问题 我不知道如何解决它 可以在这个问题的底部找到完全可重复的样本 因此 如果您愿意 请创建数据库 设置 NUnit 测试和所有附带的类 并尝试在本地消除 N 1 这是我遇到的真实问题的匿名版本 众所周知 这段代码对于帮助
  • 当“int”处于最大值并使用 postfix ++ 进行测试时,代码定义良好吗?

    示例 未定义行为的一个示例是整数溢出的行为 C11dr 3 4 3 3 int溢出是未定义的行为 但这是否适用于存在循环的以下内容 并且不使用现在超出范围的副作用i 特别是 这是否后缀增量规格帮助 结果的值计算在副作用之前排序 更新操作数的
  • 当模板类不包含可用的成员函数时,如何在编译时验证模板参数?

    我有以下模板struct template
  • 获取 2 个数据集 c# 中的差异

    我正在编写一个简短的算法 它必须比较两个数据集 以便可以进一步处理两者之间的差异 我尝试通过合并这两个数据集并将结果更改放入新的数据集来实现此目标 我的方法如下所示 private DataSet ComputateDiff DataSet
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • strcmp 给出分段错误[重复]

    这个问题在这里已经有答案了 这是我的代码给出分段错误 include
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触

随机推荐

  • @BOOL 属性设置器

    我在使用设置 BOOL 时遇到问题 property and synthesize 我在用着 property BOOL isPaused 我可以通过使用得到它 myObject isPaused 但我无法设置它 我想用 myObject
  • 列出 CRAN 上可用的所有软件包以进行控制台[重复]

    这个问题在这里已经有答案了 想要获取 Windows 控制台上 CRAN 上可用的所有软件包的列表 我知道这一定很简单 因为在 Windows GUI 上有一个手动选项可以单击安装 此时会弹出另一个菜单界面 其中包含 CRAN 上可用的所有
  • Linux shell:检测 CSV 日志文件的状态更改

    这是我自动生成的日志文件 连续一分钟检查我的互联网线路 cat log csv 2018 04 27 23 37 OK 2018 04 27 23 38 OK 2018 04 27 23 39 OK 2018 04 27 23 40 ERR
  • 将上传的文件保存到磁盘在 Flask 中不起作用[重复]

    这个问题在这里已经有答案了 我想将任何上传的图像存储到名为 logo png 的 static customlogos 文件夹中 无论其实际名称是什么 我有一个基本的 Flask 设置 其中包含典型的静态和模板文件夹 为了简单起见 我在下面
  • 如何知道是否有 git rebase 正在进行?

    当我开始一个git rebase i 我可以发出这样的命令git rebase continue or git rebase abort 这些命令仅在变基正在进行时才有效 我如何知道是否正在进行变基 我非常感谢有关 rebase 内部如何工
  • 如何在两个片段之间切换,而不需要每次都重新创建片段?

    我正在开发一个 Android 应用程序 它使用导航抽屉在两个片段之间切换 然而 每次切换时 片段都会完全重新创建 这是我主要活动的代码 The click listener for ListView in the navigation d
  • 如何在 Visual Studio Community 2013 中创建 ASP.NET MVC 5 Web 应用程序?

    我尝试在全新安装 Visual Studio Community 2013 后启动 MVC 5 项目 但是当我转到 新建项目 gt 模板 gt Visual C gt Web gt Version2012 我在中间窗格中看到的只是 ASP
  • 传递给模板函数的两个 lambda 使得参数的类型推导不明确——为什么?

    我有一个模板 如果我向它传递一个 lambda 它就可以工作 但是在一个将两个 lambda 映射到同一模板化类型的相关模板中 它无法推断出该类型 并且 MSVC Express 2013 抱怨模板参数不明确 首先要明确的是 这里没有发生重
  • 找到坐标 x 和 y 列表的优化位置

    我是编程新手 尤其是Python新手 但我正在努力学习它 到目前为止我发现它非常令人着迷 我有一个包含 30 个固定坐标 x 和 y 的列表 x np array 13 10 12 13 11 12 11 13 12 13 14 15 15
  • UIButton 状态已选择

    我看过很多有关更改所选按钮图像的信息 但作为新人 我在实现更简单的版本时遇到了一些麻烦 当按下按钮时 它会变暗 我希望它在被选择后保持这种状态 所以有几个问题 我是否为按钮创建 IBOutlet 然后使用 IBAction 来更改状态 例如
  • 从 pandas dropna 中排除特定列

    我有一个数据框 我想删除除特定列之外的所有列中的值 NA 在本例中为 V1 df V1 V2 V3 V4 A 10 20 NA B NA NA NA C 5 20 3 D 15 20 4 E NA 10 5 output V1 V2 V3
  • Node dotenv 不适用于 pm2

    我有一个应用程序 其中本地 没有 pm2 所有环境变量 env使用文件工作得很好dotenv 但在我使用的服务器上pm2要运行应用程序 环境变量仍然存在undefined 我用来在服务器上运行应用程序的 pm2 命令是 pm2 start
  • 无法激活机架(〜> 1.4.0,运行时)已激活机架1.5.0

    我已经寻找这个问题的答案一天多了 并彻底搜索了 StackOverflow 我了解正在发生的冲突 我应该卸载不需要的 Rack 版本 但事情是这样的 我正在Koding上开发 http koding com http koding com
  • 对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么?

    我有一个 Spring Web 应用程序4 3 6版本 在某种程度上 它可以与 XML 和 JSON 一起使用 对于 Json 我使用 Jackson 对于 XML 我曾经使用过JAXB2 但不再是因为它不支持通用集合 通用集合表示如下 p
  • 是否有“max”函数和分组的替代(聚合操作的性能优化)?

    我有一个很大的查询 它也返回很大的响应 查询如下所示 SELECT group subgroup max last update FROM SELECT a as group a1 as subgroup d1 as last update
  • 如何在覆盖它的网页上恢复console.log?

    Twitter 的网站做了类似的事情 console log function 将浏览器的内置console log方法进入无操作状态 有办法恢复原来的功能吗 除非他们也在原型中删除了它 否则得到log方法使用getPrototypeOf
  • TFS-SDK:合并不起作用

    作为更大实现的一部分 我尝试使用 TFS SDK 实现源代码控制分支 文件夹的合并操作 我正在针对 TFS2010 安装进行工作 我所拥有的是这样的 using System using Microsoft TeamFoundation C
  • 信息窗口不是中心位置 Android Google 地图 v2

    我在 Google 地图 v2 上的信息窗口上遇到问题 信息窗口位于标记左侧 此问题仅在 Samsung Galaxy S4 上重现 我安装了Google Api Demo 重现了 这是错误吗 如何修复它 我已在地图 v2 跟踪器上提交了此
  • dplyr 和多重线性模型

    我正在尝试使用运行大量回归dplyr对于个人 ID cusip 和年份 fyear 但我不知道如何利用summary功能 我需要运行模型 获取系数 将它们加在一起 然后mutate结果到另一个变量beta 这是一些代码 虽然不起作用 但可以
  • XDocument 文本节点换行

    我正在尝试使用以下命令将换行符插入文本节点XText来自 Linq XML 命名空间 我有一个包含换行符的字符串 但是我需要弄清楚如何将它们转换为实体字符 即 10 而不是仅仅让它们作为新行出现在 XML 中 XElement elemen