Я должен заменить oldValue
в теге даты newValue
в нижнем XML-документе. Я использую функцию setAttribute
, чтобы сделать это, но она не работает. Пожалуйста, дайте мне знать, если мне нужно использовать другую функцию для замены текста между тегами.Как заменить старое значение между XML-тегами на новое значение
myfile.xml
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<date>oldValue</date>
</root>
replace.java
Document doc = builder.parse(new File("myFile.xml"));
Element root = doc.getDocumentElement();
System.out.println("Before");
System.out.println("Using getElementByTagName date: " + root.getElementsByTagName("date").item(0).getTextContent());
System.out.println("Using getAttribute date: " + root.getAttribute("date"));
root.setAttribute("date", "newValue");
System.out.println("After");
System.out.println("Using getElementByTagName date: " + root.getElementsByTagName("date").item(0).getTextContent());
System.out.println("Using getAttribute date: " + root.getAttribute("date"));
Выход:
**Before**
Using getElementByTagName date: oldValue
Using getAttribute date:
**After**
Using getElementByTagName date: oldValue
Using getAttribute date: test
С большим реак ding/эксперимент, я нашел setAttribute()
работает для замены XML как это. Но это не работает для меня.
Текст между открытым и закрытым тегом XML - это * не * атрибут. Это контент. –
@ Code-Guru Вы правы. Я вводил в заблуждение атрибут для контента. – JoshMachine