XElement 和列表

2023-12-22

我有一个具有以下属性的类:

public class Author {
  public string FirstName { get; set; }
  public string LastName { get; set; }
}

接下来,我有一个作者列表,如下所示:

List<Author> authors = new List<Author> ();

authors.add(
  new Author { 
    FirstName = "Steven",
    LastName = "King"
  });

authors.add(
  new Author { 
    FirstName = "Homer",
    LastName = ""
  });

现在,我尝试使用 Linq to XML 来生成表示我的作者列表的 XML。

new XElement("Authors",
  new XElement("Author", 
    from na in this.Authors
    select new XElement("First", na.First)))

上面的块没有按照我的预期生成 XML。我得到的是:

<Authors>
  <Author>
    <First>Steven</First>
    <First>Homer</First>
  </Author>
<Authors>

我希望 XML 输出如下所示:

<Authors>
  <Author>
    <First>Steven</First>
    <Last>King</Last>
  </Author>
  <Author>
    <First>Homer</First>
    <Last></Last>
  </Author>
</Authors>

任何关于如何使 XML 看起来像我需要的那样的帮助将非常感激!


您需要通过IEnumerable<XElement> http://msdn.microsoft.com/en-us/library/9eekhta0.aspx查询作为第二个参数,而不是“Author”字符串,如下所示:

// Note the new way to initialize collections in C# 3.0.
List<Author> authors = new List<Author> ()
{
  new Author { FirstName = "Steven", LastName = "King" }),
  new Author { FirstName = "Homer", LastName = "" })
};

// The XML
XElement xml = new XElement("Authors",
    from na in this.Authors
    select new XElement("Author",
        new XElement("First", na.FirstName),
        new XElement("Last", na.LastName)));

这会给你你需要的结果。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XElement 和列表 的相关文章

  • boost::noncopyable 是如何工作的

    我在 C 实践中偶然发现了两个愚蠢的问题 据我所知 c 中的复制构造函数和赋值运算符不是继承的 那么 boost noncopyable 在这种情况下如何帮助禁止这些东西呢 class X private boost noncopyable
  • 如何正确使用memcpy?

    我有一个mainbuf bufsize 最初为空 我正在阅读一些输入 read fd otherbuf sizeof otherbuf 分配给不同的字符串otherbuf 每次我分配一个新字符串给otherbuf我想将其附加到mainbuf
  • 如何在 Multiline 属性设置为 true 的文本框中将空格替换为换行符?

    假设我有这个字符串 string str The quick brown fox jumps over the lazy dog 如何替换或忽略字符串中的空格并在多行文本框中输入每个单词 预期输出 The quick brown fox j
  • 在 C 中使用模板函数的最短示例?

    我如何处理函数echo tpl可以采取1类型参数int or string 然后打印出来 C没有模板 我认为你能做的最好的事情就是使用联合或让函数具有不同的名称 后一种具有不同名称的方法是准标准方法 例如fabs fabsf fabsl a
  • 错误:调用 Configuration.BuildSessionFactory() 时“无法同时获取多个包”;

    升级到 NHibernate 2 1 后 我们收到此错误 QueryException Cannot simultaneously fetch multiple bags NHibernate Loader BasicLoader Post
  • 使用 C# 将文件列表从 ftp 下载到本地文件夹? [复制]

    这个问题在这里已经有答案了 我希望将 ftp 中的所有文件下载到本地文件夹 下载到本地驱动器后 所有文件都应在 ftp 中删除 从下面的代码 我只能从 ftp 下载一个我不期望的文件 我需要将所有文件放在一个文件夹中 但不放在本地文件名的名
  • main() 是用户定义函数吗? [复制]

    这个问题在这里已经有答案了 程序员does定义内部发生的事情main 毕竟 那么 它应该被视为用户定义的函数吗 C 标准没有用户定义函数的概念 相反 它有一个概念库函数 main 不是库函数 但是 该标准还对其签名提出了一些要求 并且不得重
  • 处理可选依赖项 (C#)

    我们有一个可以选择与 TFS 集成的应用程序 但是由于集成是可选的 所以我显然不希望所有机器都需要 TFS 程序集作为要求 我应该怎么办 我是否可以在主程序集中引用 TFS 库 并确保在使用 TFS 集成时仅引用 TFS 相关对象 或者 更
  • Unix 编程。不确定如何使用 passwd 结构

    我做了一些研究 但仍在努力解决passwd结构 http www opengroup org onlinepubs 000095399 basedefs pwd h html http www opengroup org onlinepub
  • 如何重命名 MacOS/X 程序中的程序名称菜单标签?

    我有一个在 MacOS X 下运行的基于 Qt 的 GUI 程序 我希望能够更改该程序的第一个菜单标题的标签 即此屏幕截图中用红色圈出的标签 有没有一种编程方法可以做到这一点 假设不存在基于 Qt 的解决方案 则 Objective C 本
  • iText7 RegexBasedLocationExtractionStrategy 如何获取找到的文本的字体名和字体大小

    我尝试在 C 上使用 iText7 进行文本替换 我只能使用 RegexBasedLocationExtractionStrategy 获取搜索文本的内容和矩形 并且我想获取文本的字体和大小 有什么建议么 谢谢 你可以实施IText提取策略
  • 网页上的富文本编辑器

    我正在尝试在我的网页中添加一个富文本编辑器 用户可以在其中撰写评论并格式化他们所写的内容 类似于我们在此网站上撰写帖子的编辑器 谁能指出我关于此的正确方向 任何可以帮助我构建这样一个组件的教程 我还想要一个免费的产品 忘记之前提到 类似的东
  • 检测非 DPI 感知应用程序是否已扩展/虚拟化

    我正在尝试在 WinForms 应用程序中检测它是否由于操作系统具有高 DPI 而以缩放 虚拟化模式启动 目前 在以 3840x2400 缩放 200 缩放运行的系统中 应用程序将分辨率视为 1920x1200 DPI 为 96 缩放因子为
  • Doxygen 支持 C++11 模板别名(“using”语法)吗?

    我正在使用 doxygen 1 7 1 为一些 C 11 代码生成文档 它似乎忽略了我的模板别名 为了清楚起见 下面是模板别名的示例 template
  • 如何在 JSON 输出上强制采用 ISO 格式“YYYY-MM-DDThh:mm:ss.sss”?

    我有一个 ASP NET WebApi2 api 它返回一些 JSON 格式的时间戳 时间戳具有毫秒分辨率 通常我会得到这种格式的时间戳 这很好 YYYY MM DDThh mm ss sss 不幸的是 如果时间戳恰好用整秒对日期进行编码
  • 当调试器退出且没有调用堆栈时,用于跟踪 C# 崩溃的工具?

    我有一个大型 复杂的 C GUI 应用程序 它以完全可重现的方式崩溃 但我无法轻松诊断崩溃的原因 因为调试会话不是以通常的方式使用调用堆栈破坏调试器 而是完全退出 唯一的提示是输出窗口末尾有一条消息 STATUS STACK BUFFER
  • 如何使用 Dictionary 属性序列化对象?

    在下面的示例代码中 我得到了这个error 元素 TestSerializeDictionary123 Customer CustomProperties 呕吐型 System Collections Generic Dictionary
  • 着色器可以旋转形状以面向相机吗?

    我制作了一个球出现在 3D 空间中的场景 三角球耗费大量资源 所以我使用带有球纹理的二维表面 四边形 来完成此操作 但现在我需要在每次相机移动时调整形状的方向 我使用位置变换和 LookAt 方法来完成此操作 问题是我可以优化这个吗 如果可
  • 在字典和集合上自动添加索引器是一个好的设计决策吗?

    索引器何时可以自动将项目添加到集合 字典中 这是合理的还是违反最佳实践的 public class I snip public class D Dictionary
  • 在 Angular 6 和 ASP.net 中启用 CORS

    我正在尝试从 Angular 6 应用程序向发送电子邮件的 API 发送 POST 请求 我用邮递员测试了该请求并且它有效 但是当我在 Angular 应用程序中执行 POST 请求时 我的控制台中出现错误 我在 Angular 应用程序中

随机推荐

  • 设计帐户解锁返回“解锁令牌无效”

    我有一个标准设备实现 除了帐户解锁外 一切正常 锁定工作正常 我可以使用以下命令在控制台中解锁帐户unlock access 我还可以使用以下方式找到该帐户User find by unlock token 然而 UnlocksContro
  • 根本无法让键盘加速器工作

    我也已将这个问题发布到 Microsoft 的文档here https learn microsoft com en us windows uwp design input keyboard accelerators custom keyb
  • C - 浮点数的序列化(浮点数、双精度数)

    如何将浮点数转换为字节序列以便可以持久保存在文件中 这种算法必须快速且高度可移植 它还必须允许相反的操作 即反序列化 如果每个值只需要非常少量的多余位 持久空间 那就太好了 假设您使用主流编译器 C 和 C 中的浮点值遵循 IEEE 标准
  • Java 随机种子

    我需要测试一个 Java 程序 20 次 并且需要设置随机种子以便可以重复测试 如果我将初始种子设置为 0 然后在每次运行时递增 1 即 1 2 3 等 即使种子相距不远 此方法是否仍能确保完全随机性 谢谢 任何种子都将提供与标准的任何其他
  • SQL Server:如何导出整个数据库?

    我需要从一台服务器导出数据库并将其导入另一台服务器 如何将整个数据库导出到一个文件或两个文件 mdf ldf 任一选项都可以 如何使用 ssms 将其导入新服务器 小马的指示中写道 在到某个时间点文本框中 要么保留默认值 最近的 可能 或选
  • 原子比较(不等于)和交换

    我想使用原子比较和交换 但我不想等于 而是仅在内存位置不等于旧值时才交换 在C语言中可以吗 这个怎么样 void compare and swap if not equal word t const required non value w
  • 处理事件驱动世界中的异常

    我试图了解如何使用微服务 使用 apache kafka 在事件驱动的世界中处理异常 例如 如果您采用以下订单场景 则需要执行以下操作才能完成订单 1 向支付服务提供商授权支付 2 保留库存商品 3 1 通过支付服务提供商获取支付信息 3
  • 我的 rspec 测试无法通过:Michael Hartl 的 Rails 教程

    我正在第五章末尾做练习 我应该测试链接是否转到正确的页面 这是我的测试代码 require spec helper describe LayoutLinks do it should have the right links on the
  • 为什么无法获取已启动进程的主窗口句柄?

    我遇到过这样的情况 我正在代码中启动一个进程以设置 IPC 通道 我正在启动的进程是一个没有 CLR 支持的 MFC 应用程序 我从中启动此过程的应用程序是 WPF 应用程序中的 C 模块 我认为这对我的问题并不重要 这适用于支持 CLR
  • SIP 软电话客户端的 java SDK

    我想用java构建一个SIP客户端 将向 SIP 注册器注册并能够调用另一个 sip 客户端的 java 类 有什么建议么 如果你愿意的话 你可以尝试我的软件电话 它提供了一个非常简单的API 它被称为同行 http peers sourc
  • 自动映射器映射下拉菜单的 IEnumerable

    Problem 我目前正在将自动映射添加到我的 MVC 项目中 但我陷入了困境 现在我有一个用户模型用于表示数据库中的数据 我必须将该模型映射到 EditUserModel 该模型将在调用 Edit 方法时使用 EditUserModel
  • 尝试调用 Provider.of。这可能是一个错误,因此不受支持

    尝试获取当前用户的 uid 并发送短信 但遇到 Provider 实现错误 尝试致电 Provider of 这可能是一个错误 并且是 因此不受支持 如果你想公开一个变量 可以 任何事情 考虑改变dynamic to Object反而 pa
  • 在 Twig 中将字符串转换为浮点型

    基本上 我设置了一个名为 评级 的参数 它等于一个product DETAILS STAR RATING 它是从数据库驱动字段导入的一个值 该字段恰好是一个字符串 我想将该值乘以 20 但是由于 评级 是一个字符串 我无法将其相乘 如何将字
  • 无法将 Windows 主机目录挂载到 Docker 容器

    我使用的是带有 Docker 版本 1 12 0 rc3 beta18 内部版本 5226 的 Windows 10 Pro 我想在 Windows 机器上使用 Docker 进行 PHP 开发 我尝试了将主机目录安装到 Docker 容器
  • Tensorflow 数据输入切换:训练/验证

    在我从方便但速度较差的占位符切换之后 我的数据通过队列运行器进入我的图表 在每个训练周期之后 我希望运行一次验证 除了训练过程之外 验证过程使用不同的数据 没有增强 也没有洗牌 问题很简单 我如何切换这些东西 一些观察 我无法切换shuff
  • Groovy:带有嵌入引号的字符串未按预期执行

    这很奇怪 使用常规字符串来保存一些要执行的命令行 我发现有时如果字符串中有引号字符 则执行会默默失败 搞什么 已更新 见下文 这是我的测试程序 print 1 grep nameserver etc resolv conf execute
  • Google Speech API v1beta1 很慢?

    当得知 Google 终于为开发者发布了官方语音 API 时 我非常兴奋 我一直对 Google 语音识别在 Android Chrome 和其他产品中的出色表现感到惊讶 我创建了一个 Google Cloud 帐户 启用了语音 API 并
  • 将 X11 窗口保持在另一个窗口之上

    我有两个 x11 窗口 它们需要在彼此之间保持一定的堆叠顺序 即一个窗口需要保持在另一个窗口之上 我不关心应用程序之外的其他窗口 通常 我会为此使用父 子窗口 但由于 X11 将子窗口剪辑到父窗口 所以我必须伪造它 我尝试了各种方法来保留和
  • 在 Python/Pyodbc 中查询 Teradata 时出现问题

    我正在尝试使用 PyODBC 在 Python 中查询 Teradata 数据库 与数据库的连接已建立正常 但是 当我尝试获取结果时 遇到了此错误 十进制文字无效 u 请帮助 我使用的是 RHEL6 Python 2 7 3 这是代码和结果
  • XElement 和列表

    我有一个具有以下属性的类 public class Author public string FirstName get set public string LastName get set 接下来 我有一个作者列表 如下所示 List