i'am testing an xml structure:



   <Article ID="333">


     <title>i hate xpath </title>


             <subsubchild DEEP = "Attribute"></subsubchild>  //this is the value i wanna update and my nightmare




what xpath expression will fetch and update (change) the subsubchild attrib node value ? i am mostly concerned with fetching and updating sub values of any node, no matter how deeply or superficially located, if the parent ID (333 in this case). is known ? currently i have used :

$query= "//*[@ID=333]//*node()[@DEEP and @DEEP = "Attribute"]";
$outcome = $xml->xpath($query);
    echo isset($outcome[0][0]) ? "found" : "unavailable";

and several more related xpressions, they're all fraustrating my efforts with "Invalid expression" error, reported as an output. can anyone be of help please ?

3 Years
Discussion Span
Last Post by gusano79

The expression problem is *node(); this works:


Also note there's no need to check that the attribute exists separately from the value check ([@DEEP and...) .

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.