2012-02-21 56 views
2

我的XML部分是这样的:如何使用的XMLReader读取该XML

<Note> 
<SpecialText att1="" /> 
</Note> 

或者

<Note> 
This is a note. 
</Note> 

我需要的是使用的XmlReader读取XML,但我不知道如何确定innerXml是否是另一个xmlelement或仅仅是文本。

我这样做:

while (reader.Read()) 
{ 
    if (reader.NodeType == XmlNodeType.Element) 
    { 
     switch (reader.LocalName.ToLower()) 
     { 
      case MMLElement.SpecialText: 
      //// read related attributes 
      break; 
     } 
    } 
} 

,但我怎么能阅读的内容,如果下注意的事情是文本。 如果我使用reader.ReadInnerXml,它会读取所有内容,所以我不会有机会看看它是一个SpecialText XmlElement还是文本?

非常感谢

回答

0

现在,这听起来可能屈尊俯就,但我认为通过挖掘参考文献可以轻松解决这个问题。然后我可能不会完全理解你的问题。如果以下答案不是您要查找的内容,只需发布​​更多详细信息,我会很乐意提供帮助。

要确定如果内容是文本,只是检查它,然后用它做任何你喜欢的:

while (reader.Read())    
    {    
    if (reader.NodeType == XmlNodeType.Element)    
    {    
     switch (reader.LocalName.ToLower())    
     {    
      case MMLElement.SpecialText:    
      //// read related attributes    
      break;    
     }    
    }    

    else if (reader.NodeType == XmlNodeType.Text) 
    { 
     string thisIsjustText = reader.value; 
    } 
    //whatever comes next 
}