2015-03-13 38 views
0

我有一个文本框显示xml文件的内容。 当查询元素/元素时,如果找到,我希望突出显示在文本框中找到的元素和值。Linq查询然后突出显示xml文本texbox

基本上要突出显示,我会调用textbox1.Select(startIndex,length)。 但我不知道如何检索它的索引和长度。 任何人都可以提供帮助吗?

回答

0

Assumig,你在文本框中保存xml作为文本,例如。

<?xml version="1.0" encoding="UTF-8"?> 
<note> 
    <to> Tove</to> 
<from>Jani</from> 
    <heading>Reminder</heading> 
    <body>Don't forget me this weekend!</body> 
</note> 

,并要突出<from>Jani</from>textBox.Select功能,你可以试试这个:

 const string searchString = "<from>Jani</from>"; 
     var searchStringIndex = textBox1.Text.IndexOf(searchString, StringComparison.Ordinal); 
     if(searchStringIndex > -1) 
      textBox1.Text.Select(searchStringIndex, searchString.Length); 
+0

这是单向的,从文本框中搜索。我在想是否有一种方法,当我搜索一个XML节点,如果找到,然后突出显示位置直接到文本框。 而不是找到元素,然后转到文本框内容并再次搜索它。 我现在会为你的答案投票。 ;) – nonadoes 2015-03-19 03:33:59