Используя XPath, я должен найти его через

я есть следующий фрагмент XML как часть большого файла XML, который я обрабатываю с использованием последнего снимка OmniXML:

<OrderRequestHeader>
<!-- snipped XML bits here -->
<ShipTo>                                                        
    <Address addressID="">                                      
        <Name xml:lang="en">SOME COMPANY</Name>        
        <PostalAddress name="default">                          
            <DeliverTo>John Doe</DeliverTo>                  
            <Street>123 Any St</Street>                  
            <City>Nowhere</City>                              
            <State>AK</State>                                   
            <PostalCode>99999</PostalCode>                      
            <Country isoCountryCode="US">United States</Country>
        </PostalAddress>                                        
        <Email/>                                                
        <Phone>                                                 
            <TelephoneNumber>                                   
                <CountryCode isoCountryCode=""/>                
                <AreaOrCityCode/>                               
                <Number></Number>                               
            </TelephoneNumber>                                  
        </Phone>                                                
    </Address>                                                  
</ShipTo>
<!-- more XML stuff follows -->
</OrderRequestHeader>

В настоящее время у меня есть переменная, указывающая на<ShipTo> узел, и хотите выбрать содержимое<Name> узел. Я использую следующий код, ноNode2 идет вверхNil...

procedure ProcessXML;
var
    Node1, Node2: IXMLNode;

begin
    Node1 := FindNode(OrderHeader, 'ShipTo');
    // the above is working.  Node points to the <ShipTo> node
    Node2 := SelectNode(Node1, 'Name');
    // the above line doesn't work.  Node2 is Nil
end;

ПочемуNode2 Nil? Согласно помощи вOmniXMLUtils.pas, SelectNode выберет один узел, возможно, более одного уровня ниже. Там определенно<Name> узел. Даже пытаясь найти узел черезXPathSelect(Node1, 'Name'); возвращает пустой список Я неправильно использую OmniXML? Можно ли добраться до<Name> узел без предварительного выбора<Address> узел?

Ответы на вопрос(2)

Ваш ответ на вопрос