获取无效XML的路径

时间:2011-06-10 14:23:13

标签: c# xml

我正在使用ScintillaNet为MSBuild文件创建编辑器。该编辑器的一个功能是自动完成。

我的想法是解析MSBuild的XSD架构以获取允许的元素和属性。那个问题就解决了。

我当前的问题是我必须知道用户在架构中的“where”才能显示上下文相关的信息。我基本上需要解析一个XML文档。听起来很简单吧?错误:文档当前正在编辑,因此它可能不是有效的XML。

所以,我正在寻找一种方法来构建从文档根到当前位置(文本光标)的元素名称路径。我想我们可以假设一切都有效,直到最后一个元素。我真的不想要代码,只需要一些步骤就可以让我开始。

感谢。

1 个答案:

答案 0 :(得分:1)

我个人会将文本解析为用户的光标,保留一堆遇到的元素 - 在打开时将它们推开,然后在关闭时弹出它们。您将能够使用堆栈状态为您提供用户当前所在的元素。

您需要考虑用户可能正在编辑节点名称 - 解析器在流程结束时所处的状态将能够很好地指示用户当前正在编辑的内容

编辑:我知道你没有代码,但如果你需要的话,我可以快速拼凑一些东西。