以下dom操作应该会产生不同的输出,但事实并非如此。 println表明它已经工作,但是根节点.toString()或使用Transformer失败并且结果相同。
private void markNewLinesInTextNodes(Node node) {
for(int i = 0 ; i < node.getChildNodes().getLength() ; i++) {
Node child = node.getChildNodes().item(i);
markNewLinesInTextNodes(child);
}
if (node instanceof Element) {
Element el = (Element) node;
if (el.getTagName().toLowerCase().equals("text")) {
el.setTextContent(el.getTextContent().replaceAll("\n", "_LINEBREAK_"));
System.out.println(el.getTextContent());
}
}
}
答案 0 :(得分:0)
这有效:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main() {
char *myarray[] = { "A", "A", "BE", "CE" };
srand(time(NULL));
char *number;
number = myarray[rand() % 4];
if (strcmp(number, "A") == 0) {
printf("%s", number);
}
else {
printf("%s", number);
}
return 0;
}
然后:
你确定选择了吗?
你如何输出它?
试试:
if (el.getTagName().toLowerCase().equals("text")) {
el.setTextContent(el.getTextContent().replaceAll("\n", "_LINEBREAK_"));
System.out.println(el.getTextContent());