0

在 xml 文档中,我想获取底部 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>

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

4

1 回答 1

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()]");
于 2013-08-12T09:30:14.790 回答