명령줄을 사용하여 XML을 SQL INSERT 문으로 변환

명령줄을 사용하여 XML을 SQL INSERT 문으로 변환

아래 예와 같이 명령줄을 사용하여 XML을 SQL INSERT로 변환하는 방법이 있습니까?

<something>
  <somthingelse>lol</somethingelse>
</something>

~ 할 것이다

INSERT INTO `database` (`something`)
VALUES
(lol)

또는 그런 것.

답변1

xmllintlibxml 버전 20708 사용 :

루트 노드 "something"의 이름:xmllint --xpath "name()" file.xml

"하하" 문자:xmllint --xpath "//*/*/text()" file.xml


sql.sh 스크립트:

#!/bin/bash

file="$1"
table=$(xmllint --xpath "name()" "$file")
value=$(xmllint --xpath "//*/*/text()" "$file")

cat << EOF
INSERT INTO \`${table}\`
VALUES
(${value})
EOF
$ ./sql.sh 파일.xml

산출:

INSERT INTO `something`
VALUES
(lol)

관련 정보