0
노드 목록의 모든 노드를 처리하고 텍스트의 특수 문자를 바꾸려고합니다.Nodelist에서 모든 노드를 처리하는 방법
내가 직면 한 문제는 내가 교체 한 모든 값을 포함하는 객체를 반환해야한다는 것입니다. 재귀를 사용하면 값을 반환 할 수 없습니다.
모든 요소를 처리하고 특수 문자를 제거하는 XML 노드리스트를 반복 할 수 있습니까? 순간 내 apporach이
public static IXMLDatagram removeIllegalCharsFromDataGram(IXMLDatagram dg, String[] illegalValues)
{
NodeList nodeList = dg.getAsDOMElement().getElementsByTagName("*");
for (int i = 0 ; i < nodeList.getLength() ; i++)
{
Node node = nodeList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE)
{
for(String replaceChar : illegalValues)
{
// do something with the current element
if(node.getTextContent().contains(replaceChar))
{
node.setTextContent(node.getTextContent().replace(replaceChar, ""));
}
}
}
}
return dg;
}
을하는 것입니다 그러나 이것은이 문서에서 정기적으로 변경 종종 재귀가
감사
모든 노드 /리스트를 사전 작성하여 모든 종류의 'List'에 배치 한 다음 대신에'List'를 처리 할 수 있습니다. – MadProgrammer
그런 다음 원래 객체에서 노드를 어떻게 다시 대체합니까? – Biscuit128
왜 필요한가요? 실제 객체의 내용을 수정하고 있습니다. DOM에서 제거되지 않았습니다. 단지 참조를 유지하고 있습니다 ... – MadProgrammer