【问题标题】:Tree structure to string representation树结构到字符串表示
【发布时间】:2012-12-03 14:56:59
【问题描述】:

我正在练习 xml 逻辑,但我在简单转换时遇到了一些问题。

我的结构对象看起来像一个简单的树形结构,即具有名称属性的类和相同类型的Children 集合属性。我正在尝试做的是将此结构转换为简单的字符串表示(xml 节点)。

有什么想法吗?

【问题讨论】:

  • 您是否尝试过使用 xml 序列化程序?

标签: c# xml


【解决方案1】:
【解决方案2】:

在子对象中,重写 ToString() 方法并简单地遍历集合。

重写 ToString() 方法:

public override string ToString ()
{
    return this.SomeString;
}

每个对象都会给出他们的描述:

foreach (var child in collection) 
{
    xml += child.ToString();
}

您可以更进一步,使用 XmlWriter 并进行更适当的实现,甚至对对象使用序列化(如果子对象表示多个数据项,这可能是更好的解决方案)。

(编辑:格式化)

【讨论】:

  • 顺便说一句,我无法实现 xml 结构..我会 represetn xml 节点(打开和关闭标签)。
  • 您可以将字符串构建为 XML 结构。您还可以创建一个名为 ToXMLNode() 的新方法并让它返回一个 Node。但同样,序列化可能是您正在寻找的。如果不了解您的课程/应用程序,很难判断
  • 当然..我可以使用序列化..但我真正的目标是使用“树逻辑”并由我构建一个 xml 字符串。但是,我认为已经找到了一个干净的解决方案,我会发的。
  • 好吧,我自己解决了。简单地说,我执行一个递归函数来写入所有节点,并将所有包含节点子节点的节点保留在单独的(临时)列表中。在recorsive中,我检查临时列表中是否存在一个节点(它是根据我插入它们的方式排序的),所以如果我找到某人,我会用“xmlString +=”Closing tag..”修改我的字符串
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 2011-04-19
  • 1970-01-01
相关资源
最近更新 更多