具有属性继承和事件冒泡的分层对象模型?

Win*_*ett 7 c# java client dom model

我正在编写一个基于文档的客户端应用程序,我需要一个类似DOMWPF非可视模型:

  • 一棵由元素组成的
  • 可以接受无限数量的自定义属性
    • 获取/设置任何CLR类型,包括集合.
    • 可以从父级继承它们的值
    • 可以从祖先继承其默认值
    • 可以从其他属性,祖先或后代派生/计算
    • 支持事件冒泡/隧道
    • 将有一组核心属性,但其他插件可能会添加自己的属性甚至创建自定义文档
  • 支持拥有文档的完整检查,以便以XML格式保存树和属性.

我意识到这是一个很高的订单,但我真的希望有一些东西可以帮助我开始.不幸的是,WPF DependencyObjects过于封闭,专有,并且与WPF耦合,可以用作文档模型.我的需求也与HTML DOM非常相似,但我找不到任何可以与HTML分离或移植到.NET的干净DOM实现.

我目前的平台是.NET/C#但是如果有人知道任何可能对灵感或嵌入有用的东西,无论平台如何,我都很想知道.

RMo*_*sey 1

我不认为它满足您指定的所有要求,但是您是否考虑过使用 XML DOM(而不是 HTML DOM)?您可以在 .NET 中以编程方式创建 XML 文档,并使用 DOM 方法和属性对其进行操作,还可以执行 XPath 查询等操作。查看 .NET 的XmlDocument对象。这可能是一个合理的起点。