gpt4 book ai didi

java - JDOM setText() 不工作

转载 作者:行者123 更新时间:2023-12-02 04:20:01 30 4
gpt4 key购买 nike

我有一个方法可以解析特定的字符串,并且应该使用 JDOM 的 setText() 方法更改该字符串。但是当我在程序完成后查看文档时,字符串从未改变:

public void findVirtue(String word, Element a) throws JDOMException,
IOException, TransformerFactoryConfigurationError,
TransformerException {
SAXBuilder builder = new SAXBuilder();
Document document = builder.build(xml);
Pattern p = Pattern.compile("(?i)\\bvirtue('?s)?\\b",
Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(word);
List<String> virtue = new ArrayList<String>();
// Need to Increment a counter

while (m.find()) {
virtue.add(m.group());
log("FOUND : " + m.group());
log("REPLACEMENT : " + m.replaceAll("Ryan"));
a.getChild("LINE").setText(m.replaceAll("Ryan"));
XMLOutputter newDoc = new XMLOutputter();
newDoc.setFormat(Format.getPrettyFormat());
newDoc.output(document, new FileWriter(
"C:\\Users\\Ryan\\workspace\\Tragic\\result" + xml.getName()));
//counter();
}
}

现在我知道这不是正则表达式的问题,因为我可以将输出记录到另一个文件。但是当我使用时:

a.getChild("LINE").setText(m.replaceAll("Ryan"));

它永远不会起作用。有人可以告诉我我做错了什么吗?

最佳答案

我看到了问题。您正在更新 a.getChild("LINE") 元素,但将文档写入文件。

如何解决这个问题?

更新 document 对象子对象,例如 document.getChild("LINE") (或)将元素写入文件,例如 newDoc.output(a,. .....)

关于java - JDOM setText() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890433/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com