다음과 같은 입력이 주어집니다.
<start>
<header>
This is header section
</header>
<body>
<body_start>
This is body section
<a>
<b>
<c>
<st>111</st>
</c>
<d>
<st>blank</st>
</d>
</b>
</a>
</body_start>
<body_section>
This is body section
<a>
<b>
<c>
<st>5</st>
</c>
<d>
<st>666</st>
</d>
</b>
<b>
<c>
<st>154</st>
</c>
<d>
<st>1457954</st>
</d>
</b>
<b>
<c>
<st>845034</st>
</c>
<d>
<st>blank</st>
</d>
</b>
</a>
</body_section>
</body>
</start>
다음 파싱을 수행하고 싶습니다.
경우 st
의 값 c
태그는 154
다음 전체는 <b>
합니다 </b>
제거에 대한 요구를 태그. 값 154는 파일에 존재하거나 존재하지 않을 수 있습니다.
따라서 값 154가 있으면 다음 부분을 제거해야합니다.
<b>
<c>
<st>154</st>
</c>
<d>
<st>1457954</st>
</d>
</b>
쉘 스크립트로 코딩하고 싶습니다. xslt
시스템이 지원하지 않기 때문에 사용할 수 없습니다 .
거의 모든 유닉스 기반 시스템이 저장소에 있다면 자전거를 발명하는 이유는 무엇
—
Alex
xmlstarlet
입니까?
sed
이 작업에 이상적인 도구는 아니라고 생각 합니다. 펄, PHP 또는 이와 유사한 언어 또는 xml 관련 도구를 사용해야합니다.