【问题标题】:Deserialize xml elements along with nodes into a string property将 xml 元素与节点一起反序列化为字符串属性
【发布时间】:2015-06-17 09:49:43
【问题描述】:

我有以下xml

  <Amendment.Text>
    <Page>4</Page>
    <Line>4</Line>
    <Bold>It is a </Bold>   
    <Italic>Beautiful Day</Italic>
    <Bold>In London</Bold>
    <Italic>17 June 2015</Italic>   
</Amendment.Text>

我想将 &lt;Bold&gt;&lt;Italic&gt; 元素检索到 字符串属性

输出(字符串属性内容):

<Bold>It is a </Bold>   
    <Italic>Beautiful Day</Italic>
    <Bold>In London</Bold>
    <Italic>17 June 2015</Italic>

我的可序列化类如下 -

[Serializable]
    public class AmdTextType
    {

        public string Page { get; set; }

        public string Line { get; set; }

        public string Content { get; set; }

    }

我能够反序列化 PageLine 但无法获得 带有标签的ItalicBold 元素

【问题讨论】:

标签: c# xml serialization


【解决方案1】:

这不是吗:

  <Amendment.Text>
    <Page>4</Page>
    <Line>4</Line>
    <Content>CDATA(["
       <Bold>It is a </Bold>   
       <Italic>Beautiful Day</Italic>
       <Bold>In London</Bold>
       <Italic>17 June 2015</Italic>   
    "])
    </Content>
</Amendment.Text>

【讨论】:

  • 这可以解决问题,但我们无法控制 xml 格式。
  • 那我觉得你有问题。我能想到的唯一方法是手动读取字符串,所有 XML 反序列化器都将尝试将粗体和斜体行解析为标签并将它们与 IEnumerables 匹配(如果幸运的话。)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多