Java で xpath を使用して XML ファイルの一般ノードを編集する必要があります。私はさまざまな方法やアプローチを試みましたが、このタスクを成功裏に完了することに成功しました。以下のコードに記載されている問題のある部分を支援してください。
私が使用するxmlファイルの例:
<data-source> <account-id>1102</account-id> <type>ftp</type> <url>http://a.b.com</url> <port>21</port> <username>user</username> <password>12345678</password> <update-frequency>1200</update-frequency> </data-source>
私の機能は次のとおりで、引数は次のとおりです。
* Usage example: updateElementValue(FILE_LOCATION + "addDataSource.xml", "/data-source", "port", "80")
* @param fileNameToUpdate - full file name (path + file name) to update
* @param xpath - element node xpath
* @param elementName - element name
* @param elementValue - value to set
public static void updateElementValue(String fileNameToUpdate, String xpath, String elementName, String elementValue) throws Exception
{
// Exit with exception in case value is null
if(elementValue == null) {
throw new Exception("Update element Value function, elementValue to set is null");
}
//Read the file as doc
File fileToUpdate = new File(fileNameToUpdate);
Document doc = FileUtils.readDocumentFromFile(fileToUpdate);
//WHAT SHOULD I DO HERE?...
//Save the doc back to the file
FileUtil.saveDocumentToFile(doc, fileNameToUpdate);
}