从xml获取最后一个节点 [英] get last node from xml

查看:144
本文介绍了从xml获取最后一个节点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这样的xml

i希望使用namespacemanager获取最后的shipmentevent节点详细信息



i had xml like this
i want to get last shipmentevent node details using namespacemanager

<?xml version="1.0" encoding="UTF-8"?>
<req:TrackingResponse xmlns:req="http://someurl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://someurl TrackingResponse.xsd">







<AWBInfo>
    <AWBNumber>1234567895</AWBNumber>
    <Status>
      <ActionStatus>success</ActionStatus>
    </Status>
    <ShipmentInfo>
      <OriginServiceArea/>
      <DestinationServiceArea/>
      <ShipperName/>
      <ConsigneeName/>
      <ShipmentDate/>
      <DlvyNotificationFlag>N</DlvyNotificationFlag>
      <ShipmentEvent>
        <Date>2015-02-19</Date>
        <Time>15:21:00</Time>
        <ServiceEvent>
          <EventCode>CC</EventCode>
          <Description>Awaiting collection by recipient as requested</Description>
        </ServiceEvent>
        <Signatory/>
        <ServiceArea>
          <ServiceAreaCode>MAD</ServiceAreaCode>
          <Description>MADRID - SPAIN</Description>
        </ServiceArea>
      </ShipmentEvent>
      <ShipmentEvent>
        <Date>2015-02-19</Date>
        <Time>15:26:00</Time>
        <ServiceEvent>
          <EventCode>OK</EventCode>
          <Description>Delivered - Signed for by</Description>
        </ServiceEvent>
        <Signatory>MANUEL</Signatory>
        <ServiceArea>
          <ServiceAreaCode>MAD</ServiceAreaCode>
          <Description>MADRID - SPAIN</Description>
        </ServiceArea>
      </ShipmentEvent>
    </ShipmentInfo>
  </AWBInfo>





iam使用这样的代码



shipmenteventdate = xmlDoc.SelectSingleNode(req:TrackingResponse / AWBInfo / ShipmentInfo / ShipmentEvent / Date,namespaceManager).InnerText;



但我得到第一个shipmentevent节点详细信息我想要最后的shipmentevent节点详细信息



谢谢



iam using code like this

shipmenteventdate = xmlDoc.SelectSingleNode("req:TrackingResponse/AWBInfo/ShipmentInfo/ShipmentEvent/Date", namespaceManager).InnerText;

but iam getting first shipmentevent node details i want last shipmentevent node details

Thanks

推荐答案

您可以使用 SelectNodes 选择所有节点,然后选择最后一个:

You can select all nodes using SelectNodes, and then take the last:
XmlNodeList nodes = xmlDoc.SelectNodes("req:TrackingResponse/AWBInfo/ShipmentInfo/ShipmentEvent/Date", namespaceManager);
XmlNode shipmenteventdate = nodes.Item(nodes.Count - 1);


这篇关于从xml获取最后一个节点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆