2016-06-16 2 views
0

XML 변환에 JOOX를 사용할 때 문제가 있습니다. 예를 들어이 같은 XML이 입력,JOOX 자동 닫기 XML 태그

Match xml = $(new StringReader(content.toString())); 
     Match find = xml.find(fieldTag); 
     Iterator<Element> iterator = find.iterator(); 
     while(iterator.hasNext()){ 
      Element next = iterator.next(); 
      String text = $(next).text(); 
      if(text.length() == 0) continue; 

      next.setNodeValue("...."); 
     } 

    return xml.toString(); 

그러나 : 나는 다음과 같은 코드를 가지고있는 fieldTag

일치하는 요소의 일부를 변경하고있는 중이 야

<Body> 
<A>ABC</A> 
<B></B> 
</Body> 

이 무엇 전 결과로 받으세요 :

<Body> 
<A>transformed</A> 
<B/> 
</Body> 

요소 B는 자동 폐쇄 XML 태그임을 알 수 있습니다. 아무도 내가 어떻게 그것을 <B></B이되게하는지 안다 ??

답변

1

왜 중요한가요? XML 구문 분석기로 결과 문서를 읽는 사람은 그 차이점을 알지 못하며 XML 구문 분석기가 아닌 다른 것으로 읽는 사람은 다시 교육해야합니다. 대부분의 XML serializer는 속성 값 주위에 작은 따옴표 나 큰 따옴표를 포함할지 여부를 선택할 수있는 것 이상의 세부 정보를 제어하지 않습니다.

+0

XML을 사용하여 기존 시스템과 통신 할 때 필요한 요구 사항 중 하나입니다. –

+0

글쎄, "우리 시스템 중 하나가 실제로 XML을 제대로 수행하지 않아서 모든 사람이 조정해야 할 것"이라고 말하자마자 공개 표준을 사용하면 모든 이점을 잃게되고 비용이 크게 증가합니다. 실제 XML을 이해하기 위해 레거시 시스템을 변경할 수 없다면 실제 XML을 제한된 방언으로 변환하는 게이트웨이를 프론트 엔드로 사용하십시오. –