SelectNodes-metoden

Microsoft Office InfoPath

Velger et område av noder i en visning, basert på den angitte XML DOM (Document Object Model)-startnoden, XML DOM-sluttnoden og visningskonteksten.

expression.SelectNodes(ByRef pxnStartNode As XMLDOMNode, [ByVal varEndNode As Variant], [ByVal varViewContext As Variant])

expression    Obligatorisk. Et uttrykk som returnerer en referanse til View-objektet.

pxnStartNode Obligatorisk XMLDOMNode. XML DOM-noden som er først i sekvensen.

varEndNode Valgfritt Variant. XML DOM-noden som er sist i sekvensen. Hvis den ikke er angitt, brukes bare den første XML DOM-noden brukes.

varViewContext Valgfritt Variant. IDen til kontrollen som brukes for konteksten, som er et element med den angitte visningskonteksten for xd:CtrlId.

Sikkerhetsnivå

2: Kan åpnes bare av skjemaer som kjører på samme domene som skjemaet som i øyeblikket er åpent, eller av skjemaer som har fått tillatelser på tvers av domener.

Merknader

Hvis en visningskontekst er angitt, må alle XML DOM-nodene som skal velges, være innenfor den konteksten.

Hvis noen av argumentene til SelectNodes-metoden er NULL eller ikke vises i visningen, vil SelectNodes-metoden returnere en feil. Hvis den angitte visningskonteksten inneholder mer enn ett sett av visningselementer som er tilordnet til samme angitte XML DOM-noder, vil SelectNodes-metoden også returnere en feil.

Eksempel

I eksemplet nedenfor brukes SelectNodes-metoden for View-objektet til å angi et utvalg i et enkeltelement i visningen, som tilsvarer den angitte XML DOM-noden. Deretter brukes GetSelectedNodes-metoden for View-objektet til å finne ut om utvalget var vellykket ved å vise informasjon om XML DOM-noden i en meldingsboks.

function SelectEmployee()
{
   var objXMLNodes;
   var objXMLNode;

   objXMLNode = XDocument.DOM.selectSingleNode("/employees/employee");
   XDocument.View.SelectNodes(objXMLNode);

   objXMLNodes = XDocument.View.GetSelectedNodes();
   if (objXMLNodes.Count > 0)
   {
      XDocument.UI.Alert(objXMLNodes(0).nodeName + "\n\n" + objXMLNodes(0).text);
   }
}