I am trying to figure out how to go about getting the value of jxdm:ID from the following XML file:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> 
<My:Message 
xmlns:Abcd="http://...." 
xmlns:box-1="http://...." 
xmlns:bulb="http://...."
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xsi:schemaLocation="http://....stores.xsd">
<Abcd:StoreDataSection>
    <Abcd:DataSection>
        <Abcd:FirstStore>
            <box-1:Response>
                <box-1:DataSection>
                    <box-1:Release>
                        <box-1:Activity>
                            <bulb:Date>2017-04-29</bulb:Date>
                            <bulb:Store xsi:type="TPIR:Organization">
                                <bulb:StoreID>
                                    <bulb:ID>D79G2102</bulb:ID>
                                </bulb:StoreID>
                            </bulb:Store>
                        </box-1:Activity>
                    </box-1:Release>
                </box-1:DataSection>
            </box-1:Response>
        </Abcd:FirstStore>
    </Abcd:DataSection>
</Abcd:StoreDataSection>
</ My:Message>
I keep getting "null" as the value of node
Node node = (Node) xPath.evaluate(expression, document, XPathConstants.NODE);
This is my current Java code:
try {
    DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = builderFactory.newDocumentBuilder();
    Document document = builder.parse(new File("c:/temp/testingNamespace.xml"));
    XPath xPath = XPathFactory.newInstance().newXPath();
    String expression = "//My/Message//Abcd/StoreDataSection/DataSection/FirstStore//box-1/Response/DataSection/Release/Activity//bulb/Store/StoreID/ID";
    Node node = (Node) xPath.evaluate(expression, document, XPathConstants.NODE);
    node.setTextContent("changed ID");
    Transformer transformer = TransformerFactory.newInstance().newTransformer();
    transformer.transform(new DOMSource(document), new StreamResult(new File("C:/temp/test-updated.xml")));
} catch (Exception e) {
    System.out.println(e.getMessage());
}
How would the correct XPath be formatted in order for me to get that value and change it?
Update 1
So something like this?
String expression = "/My:Message/Abcd:StoreDataSection/Abcd:DataSection/Abcd:FirstStore/box-1:Response/box-1:DataSection/box-1:Release/box-1:Activity/bulb:Store/bulb:StoreID/bulb:ID";
 
     
    