XPath to get all child nodes (elements, comments, and text) without parent

后端 未结 2 609
不知归路
不知归路 2020-12-04 19:09

I need an XPath to fetch all ChildNodes ( including Text Element, Comment Element & Child Elements ) without Parent Element. Any help

Sample Example:

<         


        
2条回答
  •  自闭症患者
    2020-12-04 19:45

    Use this XPath expression:

    /*/*/X/node()
    

    This selects any node (element, text node, comment or processing instruction) that is a child of any X element that is a grand-child of the top element of the XML document.

    To verify what is selected, here is this XSLT transformation that outputs exactly the selected nodes:

    
     
     
      
     
    
    

    and it produces exactly the wanted, correct result:

       First Text Node #1            
         Y can Have Child Nodes #                
             deep to it 
                    Second Text Node #2 
        
    

    Explanation:

    1. As defined in the W3 XPath 1.0 Spec, "child::node() selects all the children of the context node, whatever their node type." This means that any element, text-node, comment-node and processing-instruction node children are selected by this node-test.

    2. node() is an abbreviation of child::node() (because child:: is the primary axis and is used when no axis is explicitly specified).

提交回复
热议问题