关于节点中的空节点,该怎么解决

关于节点中的空节点
如下xml片断中的空节点<br/>和外层的<p>节点是什么关系?如何提取出被分隔的两行字符串?假设p和br有可能被随机地用来换行,如何能不加区分地从p或br分隔的字符串提取中每行字符串?

<P>第一行<br/>第二行</p>
<p>第三行</p>

------解决方案--------------------
        string xml = "<p>第一行<br/>第二行</p>";
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(xml);
        XmlNodeList nl = doc.SelectNodes("//p/text()");//选择p下面的文本节点
        for (int i = 0; i < nl.Count; i++)
        {
            Response.Write(nl[i].OuterXml);
        }

------解决方案--------------------
那些文本和<br/>是一个级别,都是p的子节点

xpath一般在各种语言中都能用,你如果使用的是其它技术,也可以用xpath来解决

------解决方案--------------------
被<br/>分开的文本每部分都算一个独立的子节点,加上<br/>节点,用父节点的.ChildNodes()可以获得。