2014-01-09 3 views
1

xmlstar에 문제가 있습니다. 빈 태그를 제거합니다. 비활성화하려면 어떻게해야합니까?XMLStarles가 닫는 태그를 제거합니다

입력 :

<tag1>test1</tag1> 
<tag3></tag3> 
<tag4>test3</tag4> 

출력 :

<tag1>test1</tag1> 
<tag3/> 
<tag4>test3</tag4> 

그리고 난 같은 출력이되는 그래서 닫는 따옴표를 제거 아니에요합니다.

누군가가 빠른 답변을 갖고 있기를 바랍니다.

답변

2

XML에서 <a></a><a/> (의미는 /입니다)은 의미 상 동일합니다. 어떤 응용 프로그램이 문서를 사용하든이 변경 사항에 신경 쓰지 않아야합니다.

특히 xmlstarlet에 대해서는 알지 못합니다. 그러나 해당 serializer에 더 자세한 형식을 생성하는 옵션이없는 경우 문서를 후 처리해야 할 수도 있습니다.

이전 버전이 반드시 필요한 경우 다음 네 가지 중에서 선택할 수 있습니다. 해당 형식의 빈 요소를 쓰는 XML 직렬기를 찾으십시오 (사용중인 옵션이있을 수도 있고 사용하지 않을 수도 있음). 그 형식으로 빈 요소를 작성하는 XML serializer, 자신의 XML serializer를 작성하는 것 (권장하지는 않지만,이 질문을하는 데 문제가있는 경우) 또는 작성 후 텍스트를 후 처리하십시오 <a></a>의 모든 인스턴스를 <a/>으로 변경하십시오.

실제로 다른 가능성이 있습니다. 다른 프로그램이 긴 양식을 필요로하는 이유가 HTML을 예상하기 때. 인 경우 XML 직렬 프로그램 대신 HTML 직렬 프로그램을 사용해야합니다.

0

나는 그것이 같은 것을 알고있다. 하지만 내가 필요한 이유는이 형식의 xml을 지원하지 않는 리드 도구입니다. 닫는 태그가 필요합니다.

그래서 여기에 누구에게나 흥미로운 아이디어가 있습니다.

파일의 헤더는입니다. 그래서 그 도구는 파일을 읽고 있습니다.

<?xml version="1.0" encoding="iso-8859-1"?> 

<project> 
    <fileVersion>2</fileVersion> 
    <configuration> 
    <name>Debug</name> 
    <toolchain> 
     <name>ARM</name> 
    </toolchain> 
관련 문제