[JavaScript]DOMParserでxml文字列をパースするサンプル
書式
let domparser = new DOMParser()
let doc = domparser.parseFromString(string, mimeType)
返値: mimeType 引数に依存した Document もしくは XMLDocument。
string: DOMString にパースされます。HTML、xml、xhtml+xml もしくは svg 文書が含まれなければなりません。
使用例
<!DOCTYPE html>
<html>
<body>
<div id="cft"></div>
<script>
var x, i, xmlDoc;
var res = "";
var strTxt = "<employee>" +
"<uid>1005</uid>" +
"<uname>太郎</uname>" +
"<birthyear>2001</birthyear>" +
"<department>開発部</department>" +
"</employee>";
//DOMParserインターフェイス 解析
parser = new DOMParser();
xmlDoc = parser.parseFromString(strTxt,"text/xml");
// documentElement ルート要素
x = xmlDoc.documentElement.childNodes;
//ノード名前 ノード値
for (i = 0; i < x.length ;i++) {
res += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("cft").innerHTML = res;
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<div id="cft"></div>
<script>
var x, i, xmlDoc;
var res = "";
var strTxt = "<employee>" +
"<uid>1005</uid>" +
"<uname>太郎</uname>" +
"<birthyear>2001</birthyear>" +
"<department>開発部</department>" +
"</employee>";
//DOMParserインターフェイス 解析
parser = new DOMParser();
xmlDoc = parser.parseFromString(strTxt,"text/xml");
// documentElement ルート要素
x = xmlDoc.documentElement.childNodes;
//ノード名前 ノード値
for (i = 0; i < x.length ;i++) {
res += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>";
}
document.getElementById("cft").innerHTML = res;
</script>
</body>
</html>
<!DOCTYPE html> <html> <body> <div id="cft"></div> <script> var x, i, xmlDoc; var res = ""; var strTxt = "<employee>" + "<uid>1005</uid>" + "<uname>太郎</uname>" + "<birthyear>2001</birthyear>" + "<department>開発部</department>" + "</employee>"; //DOMParserインターフェイス 解析 parser = new DOMParser(); xmlDoc = parser.parseFromString(strTxt,"text/xml"); // documentElement ルート要素 x = xmlDoc.documentElement.childNodes; //ノード名前 ノード値 for (i = 0; i < x.length ;i++) { res += x[i].nodeName + ": " + x[i].childNodes[0].nodeValue + "<br>"; } document.getElementById("cft").innerHTML = res; </script> </body> </html>
実行結果
uid: 1005
uname: 太郎
birthyear: 2001
department: 開発部