Xml
使用 xmlstarlet 在 xml 中插入一行
我有一個如下所示的 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 來做到這一點,但運氣不佳:(
使用兩個步驟(為了便於閱讀,我折線)
xmlstarlet ed -s "//schema" -t elem -n "similarity" \ -i "//similarity" -t attr -n "class" -v "solr.BM25SimilarityFactory" \ > final.xml
注意
-s
(subnode
) 的使用。另請注意,最後添加了該行,但對於 xmlparser 應該沒問題。
您不妨看看這個堆棧溢出問題。