2012-03-19 37 views
1

我目前想從文本位置找出XMLNode。C#XML編輯器 - 匹配XMLNode

我有一個文本框,一個XML文件:

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

,我想在文本內我的光標/插入符號位置獲取當前節點名稱

我可以解析當前在遊標/光標位置的XML標記,但我然後將無法找到父...

我想知道是否有方法從XMLDocument獲取XMLNode

從當前光標所在位置首先

1),獲得第<符號光標左側:

+0

我可能會被失去了一些東西,但爲什麼不能使用[XmlNode.ParentNode(http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.parentnode.aspx)的財產? – 2012-03-19 20:34:32

+0

我可以!但是我將不得不解析整個XML文件,而不知道我在TextBox中選擇了哪個節點 – Vieo 2012-03-19 20:48:35

回答

1

你自己看着辦吧。

2)然後,正則表達式從<TagName中獲取標籤名稱。

然後您將有足夠的導航到該名稱的節點。如果通過該名稱有多個節點,那麼您會想要比較內容。然後你可以使用節點,以獲得其父母等

不同的想法:

獲取XML文檔中的每個節點,通過.ToString()剝奪其子元素的輸出,並得到它的長度,然後設置通過文本長度的節點索引。然後從光標位置從文檔的起始位置獲取字符並確定索引中的哪個節點。