Java에 해당하는 .NET의 System.Xml.XmlNode.InnerXml
이 있습니까?Java에 해당하는 System.Xml.XmlNode.InnerXml
XML 문서의 일부 단어를 바꿔야합니다.
XML 노드를 제거하기 때문에 Java의 org.w3c.dom.Node.setTextContent()
을 사용할 수 없습니다.
감사합니다.
출처 :
<body>
<title>Home Owners Agreement</title>
<p>The <b>good</b> thing about a Home Owners Agreement is that...</p>
</body>
원하는 출력 :
<body>
<title>Home Owners Agreement</title>
<p>The <b>good</b> thing about a HOA is that...</p>
</body>
난 단지 <p>
태그 텍스트를 교체해야합니다.
replaceText(string term, string replaceWith, org.w3c.dom.Node p){
p.setTextContent(p.getTextContent().replace(term, replaceWith));
}
위의 코드의 문제는 p
의 모든 자식 노드가 길을 잃지이다 : 나는 다음 시도했다.
내가 그렇게하면 ELEMENT1의 자식 요소를 잃지 않을까? – joe
좀 더 구체적인 예를 들려 줄 수 있습니까? 나는 당신이 변경하려고하는 XML을 시각화하기가 어렵다. – DaveH
이 예제를 사용하여 질문을 업데이트했습니다. 문제는 p.setTextContent()를 사용할 때 하위 노드가 손실된다는 것입니다. – joe