【问题标题】:XML Serialization of arrays数组的 XML 序列化
【发布时间】:2016-09-07 00:11:26
【问题描述】:

我有以下 xml 文件

<record>
    <patient>...</patient>
    <appointment>...</appointment>
    <appointment>...</appointment>
    <appointment>...</appointment>
    <prescription>...</prescription>
    <prescription>...</prescription>
    <prescription>...</prescription>
    <labresult>...</labresult>
    <labresult>...</labresult>
    <labresult>...</labresult>
</record>

病人是一个对象 约会是一个对象数组 处方是一个对象数组 labresult 是一个对象数组

我无法控制 xml 文件,因为它是一个导出文件。 当我反序列化时,它只处理我最终得到的第一个 xml 元素类型 预约、处方、实验室结果为空。当我从 xml 文件中删除患者时,我最终得到了一系列约会(这很好)但是处方,labresult 为空

我正在使用带有 .net 4.5 框架的 c#。

【问题讨论】:

  • 如何处理成什么??
  • 将xml序列化为c#对象

标签: c# .net arrays xml serialization


【解决方案1】:

您可以使用 XDocument 处理数据:

var xml = "<record>" +
      "  <patient></patient>" +
      "  <appointment></appointment>" +
      "  <appointment></appointment>" +
      "  <appointment></appointment>" +
      "  <prescription></prescription>" +
      "  <prescription></prescription>" +
      "  <prescription></prescription>" +
      "  <labresult></labresult>" +
      "  <labresult></labresult>" +
      "  <labresult></labresult>" +
      "</record>";
using (var reader = new StringReader(xml))
{
    var xDoc = XDocument.Load(reader);
    foreach (var xElement in xDoc.Root.Elements("patient")) {
        // Process patients
    }
    foreach (var xElement in xDoc.Root.Elements("appointment")) {
        // Process appointment
    }
    ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多