C#XML编辑器-匹配XMLNode

本文关键字:XMLNode -匹配 编辑器 C#XML | 更新日期: 2023-09-27 18:28:30

我目前想从文本位置找到一个XMLNode。

我在一个文本框中有一个XML文件:

<Assets id="assets">
   <Asset id="background_asset" url="images/rooms/office/background.jpg" />
</Assets>

我想从文本框中的光标/插入符号位置获取当前节点名

我可以解析光标/插入符号位置的当前XML标记,但无法找到父标记

我想知道是否有一种方法可以从XMLDocument 中获取XMLNode

C#XML编辑器-匹配XMLNode

你可以算出:

1) 首先,从当前光标位置获取光标左侧的第一个<符号。

2) 然后Regex从<TagName中获取标签名称。

然后,您就有足够的空间导航到该名称的节点。如果有多个同名节点,则需要比较内容。然后你可以使用该节点来获得它的父节点,等等

不同的想法:

获取xml文档的每个节点,去掉其子元素,通过.ToString()输出并获取其长度,然后按文本长度设置节点索引。然后从光标位置获取其从文档开始的位置(以字符为单位),并确定索引中的哪个节点。