XPath Example
private Document plist;
protected void setUp()
throws IOException, ParserConfigurationException, SAXException {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware(true); // NEVER FORGET THIS!
DocumentBuilder builder = factory.newDocumentBuilder();
plist = builder.parse(new File("thunderbirdplist.xml"));
}
public void testNoTwoKeyElementsAreAdjacent()
throws TransformerException {
assertXpathNotExists(
"//key/following-sibling::*[1]/self::key",
plist);
}
public void testCreatorCodeIsMOZM() throws TransformerException {
assertXpathEvaluatesTo("MOZM",
"//key[. = 'CFBundleSignature']/following-sibling::string",
plist);
}
public void testThereIsAnIcon() throws TransformerException {
assertXpathExists(
"//key[. = 'CFBundleIconFile']",
plist);
assertXpathExists(
"//key[. = 'CFBundleIconFile']/following-sibling::string",
plist);
}