다음과 같은 XML 파일이 있습니다.
<?xml version="1.0" encoding="UTF-8"?>
<!-- Solr managed schema - automatically generated - DO NOT EDIT -->
<schema name="default-config" version="1.6">
<uniqueKey>id</uniqueKey>
....
다음 줄을 삽입하고 싶습니다.
<similarity class="solr.BM25SimilarityFactory"/>
<schema.. and <uniqueKey
이렇게 사이 :
<?xml version="1.0" encoding="UTF-8"?>
<!-- Solr managed schema - automatically generated - DO NOT EDIT -->
<schema name="default-config" version="1.6">
<similarity class="solr.BM25SimilarityFactory"/>
<uniqueKey>id</uniqueKey>
이 작업을 수행하기 위해 xmlstarlet을 사용하려고 하는데 운이 없습니다 :(
답변1
2단계 사용(읽기 쉽도록 선을 접었습니다)
xmlstarlet ed -s "//schema" -t elem -n "similarity" \
-i "//similarity" -t attr -n "class" -v "solr.BM25SimilarityFactory" \
> final.xml
-s
( ) 의 사용에 주목하세요 subnode
.
또한 이 줄은 끝에 추가되지만 xmlparser에는 문제가 되지 않습니다.
한 번 살펴보고 싶을 수도 있습니다이 스택 오버플로 질문.