xml 태그와 해당 값을 동일한 루트 태그 아래의 다른 xml 파일에 복사하는 방법

xml 태그와 해당 값을 동일한 루트 태그 아래의 다른 xml 파일에 복사하는 방법

xml 태그와 해당 값을 동일한 루트 태그 아래의 다른 xml 파일에 복사해야 합니다. 루트 태그가 없으면 생성합니다.

다음은 입력 및 출력 예제입니다.

INPUT: string.xml
<resource>
    <string name="app_name">MyExampleApp</string>
    <string name="profile">My Profile</string>
    <string name="messages">My Messages</string>
</resource>

$ command "profile" string.xml string1.xml

OUTPUT: string1.xml
<resource>
    <string name="profile">My Profile</string>
</resource>

나는 "명령"과 옵션을 찾고있었습니다. 반드시 이 순서일 필요는 없습니다. 도와주세요. 모든 Linux/Unix/Mac 명령이 가능합니다.

답변1

사용XML 스타, 당신은 할 수 있습니다삭제stringname속성이 다음이 아닌 루트 노드 아래의 모든 노드 profile:

$ xml ed -d '/resource/string[@name != "profile"]' string.xml
<?xml version="1.0"?>
<resource>
  <string name="profile">My Profile</string>
</resource>

XML 선언 줄이 필요하지 않으면 -O나중에 추가하세요.ed

관련 정보