2012-08-21 2 views
2

xml에 html 태그를 지정하고 싶습니다. 나는 xml에서 실행되는 CDATA를 사용하고 있지만 xml 파일을 자바 <으로 생성하고,> tags는 "<"입니다. 나는이 상황을 이해하지 못한다.사용 방법 <,> xml 파일을 만들 때 java의 태그

String returnUrl="<![CDATA[ac=S<br/>DNbZCQOijAl6HrAAyyGV]]>"; 
Node returnUrlNode = doc.createElement("returnurl"); 
returnUrlNode.setTextContent(returnUrl); 
userNode.appendChild(returnUrlNode); 

답변

4

아닌 간단한 텍스트 노드를, 당신은해야합니다 CDATA를 직접 만드십시오. 난 당신이 비슷한 보이는 DOM이 아닌 일부 API를 사용하고 있으리라 믿고있어, 그래서는 다음과 같습니다 DOM을 직렬화 때, SLaks 지적처럼

Node returnUrlNode = doc.createElement("returnurl"); 
returnUrlNode.appendChild(
    doc.createCDATASection(
     "Whatever text you wanted to go in here, including unescaped <and>.")); 

참고, 모든 이스케이프가 자동으로 발생합니다. 이 경우 <![CDATA[]]>이 자동으로 추가됩니다. 출력이 일반 텍스트 노드가 아닌 CDATA 섹션이어야하는 경우 실제 CDATA 섹션을 만드는 방법입니다.

3

Java XML API는 자동으로 콘텐츠를 이스케이프 처리합니다.

.setTextContent("ac=S<br/>DNbZCQOijAl6HrAAyyGV")으로 작성하면 Java에서 <>을 대신 할 수 있습니다.

+0

실행되지 않습니다. 태그는 &alt; 같았습니다. –

1

당신은 XML 이스케이프 문자를 사용할 필요가 :

경우에는 텍스트가 CDATA 섹션에 있어야 할 어떤 이유
& &amp; 
< &lt; 
> &gt; 
" &quot; 
' &apos;