XmlDocument如何获取底部的xml节点?

时间:2013-08-12 09:13:33

标签: xmldocument

在xml文档中,我想获取Bottom xml节点,如何获取最后的xml节点

<Books>
  <book>
    <author> sasi </author>
    <pdate>2013-01-02</pdate>
  </book>
  <book>
    <author> surya</author>
    <pdate> 2013-02-02</pdate>
  </book>
  <book>
    <author>dolly</author>
    <pdate> 2013-04-01</pdate>
  </book>
</Books>

从上面我想得到xml文档中的最后一个<book>节点。

1 个答案:

答案 0 :(得分:0)

试试这个:

var xml = @"<Books>
                <book>
                  <author> sasi </author>
                  <pdate>2013-01-02</pdate>
                </book>
                <book>
                  <author> surya</author>
                  <pdate> 2013-02-02</pdate>
                </book>
                <book>
                  <author>dolly</author>
                  <pdate> 2013-04-01</pdate>
                </book>
            </Books>";
var doc = new XmlDocument();
doc.LoadXml(xml);
var node = doc.FirstChild.LastChild;
Console.WriteLine(node.OuterXml);

输出:

<book><author>dolly</author><pdate> 2013-04-01</pdate></book>

或者,您可以选择book元素下的最后一个Books子项:

doc.SelectSingleNode("Books/book[last()]")

或最后一个book元素,无论它们在文档中的哪个位置:

doc.SelectSingleNode("//book[last()]");